PartySk.sk

Created by WolfyGameYT

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.

#
# PartySk - made by WolfyGameYT
#


options:
	prefix: &5&lPartySk &d&l»
	pm: &5&lPartySk &d&l» &4You can't do that!
	invalid: &5&lPartySk &d&l» &cInvalid Usage! Do /party help for a list of commands.
	offline: &5&lPartySk &d&l» &c%arg-2% &cis not online!
	partymax: 4
	fullparty: &5&lPartySk &d&l» &cThe party is full!
	perm: partysk.permission
	cooldown: 1 second

on quit: 
	set {%player%::partychat} to false
	delete {%player%::list::*}
	if player is {%player%::leader}:
		loop all players:
			if {%loop-player%::leader} is player:
				send "{@prefix} &7The party was disbanded due to the leader leaving the server!" to loop-player
				delete {%loop-player%::leader}
				delete {%player%::leader}
	else if player is not {%player%::leader}:
		make player execute "/party leave"
	loop all players:
		if player is in {%loop-player%::invite::*}:
			remove player from {%loop-player%::invite::*}

command /party [<text>] [<player>]:
	cooldown: {@cooldown}
	cooldown message: {@prefix} &cWait {@cooldown} to do that again!
	aliases: /p
	usage: {@invalid}
	permission: {@perm}
	permission message: {@pm}
	trigger:
		if arg-1 is "help" or "invite" or "join" or "leave" or "kick" or "disband" or "list" or "warp":
			if arg-1 is "help":
				if arg-2 is not set:
					send ""
					send "&5/party help: &dTo see a list of all commands"
					send "&5/party invite <player>: &dTo invite someone to your party"
					send "&5/party join <player>: &dTo join a party you have been invited to"
					send "&5/party leave: &dTo leave the party you are in"
					send "&5/party kick <player>: &dTo kick someone from your party"
					send "&5/party disband: &dTo disband your party"
					send "&5/party list: &dTo list the players in your party"
					send "&5/partychat [<message>]: &dTo either enable party chat or send a message through party chat"
					send "&5/party warp: &dTo warp your party members to where you are"
					send ""
				else:
					send "{@invalid}"
			if arg-1 is "invite":
				if arg-2 is set:
					if arg-2 is online:
						if arg-2 is not player:
							if {%arg-2%::invite::*} does not contain player:
								if size of {%player%::list::*} is not {@partymax}:
									add player to {%arg-2%::invite::*}
									send "{@prefix} &7You have sent a party invite to &8%arg-2%&7."
									send "{@prefix} &8%player% &7has sent you a party invite, do &8/party join %player% &7to accept it." to arg-2
								else:
									send "{@fullparty}"
							else:
								send "{@prefix} &cYou have already sent a party invite to this player!"
						else:
							send "{@prefix} &cYou can't invite yourself!"
					else:
						send "{@offline}"
				else:
					send "{@invalid}"
			if arg-1 is "join":
				if arg-2 is set:
					if arg-2 is online:
						if arg-2 is not player:
							if {%player%::invite::*} contains arg-2:
								if {%player%::leader} is not set:
									if size of {%arg-2%::list::*} is not {@partymax}:
										remove arg-2 from {%player%::invite::*}
										add player to {%arg-2%::list::*}
										set {%player%::leader} to arg-2
										set {%arg-2%::leader} to arg-2
										send "{@prefix} &7You have joined &8%arg-2%&8's &7party!"
										send "{@prefix} &8%player% &7has joined your party!" to arg-2
									else:
										send "{@fullparty}"
								else:
									send "{@prefix} &cYou are already in a party, leave your current one to join a new one!"
							else:
								send "{@prefix} &cYou were not sent a party invite from this player!"
						else:
							send "{@prefix} &cYou can't join your own party!"
					else:
						send "{@offline}"
				else:
					send "{@invalid}"
			if arg-1 is "leave":
				if arg-2 is not set:
					if {%player%::leader} is set:
						if player is not {%player%::leader}:
							remove player from {%{%player%::leader}%::list::*}
							send "{@prefix} &7You have left &8%{%player%::leader}%&8's &7party!"
							loop all players:
								if {%loop-player%::leader} is {%player%::leader}:
									send "{@prefix} &8%player% &7has left the party!" to loop-player
							wait 1 tick
							delete {%player%::leader}
						else:
							send "{@prefix} &cIf you want to leave your party, you must disband the party!"
					else:
						send "{@prefix} &cYou are not in a party!"
				else:
					send "{@invalid}"
			if arg-1 is "kick":
				if arg-2 is set:
					if {%player%::leader} is set:
						if player is {%player%::leader}:
							if arg-2 is not player:
								if {%player%::list::*} contains arg-2:
									remove arg-2 from {%player%::list::*}
									loop all players:
										if {%loop-player%::leader} is {%player%::leader}:
											send "{@prefix} &8%arg-2% &7has been kicked!" to loop-player
									wait 1 tick
									delete {%arg-2%::leader}
								else:
									send "{@prefix} &cThis player is not in your party!"
							else:
								send "{@prefix} &cYou can't kick yourself!"
						else:
							send "{@prefix} &cYou are not the party leader!"
					else:
						send "{@prefix} &cYou are not in a party!"
				else:
					send "{@invalid}"
			if arg-1 is "disband":
				if arg-2 is not set:
					if {%player%::leader} is set:
						if {%player%::leader} is player:
							delete {%player%::list::*}
							loop all players:
								if {%loop-player%::leader} is player:
									send "{@prefix} &7The party was disbanded!" to loop-player
									wait 1 tick
									delete {%loop-player%::leader}
						else:
							send "{@prefix} &cYou are not the party leader!"
					else:
						send "{@prefix} &cYou are not in a party!"
				else:
					send "{@invalid}"
			if arg-1 is "list":
				if arg-2 is not set:
					if {%player%::leader} is set:
						send "&5Party Leader: &d%{%player%::leader}%"
						send "&5Party List: &d%{%{%player%::leader}%::list::*}%"
					else:
						send "{@prefix} &cYou are not in a party!"
				else:
					send "{@invalid}"
			if arg-1 is "warp":
				if arg-2 is not set:
					if {%player%::leader} is set:
						if player is {%player%::leader}:
							loop all players:
								if {%loop-player%::leader} is {%player%::leader}:
									send "{@prefix} &7You were warped to where your party leader is!" to loop-player
									teleport loop-player to player
						else:
							send "{@prefix} &cYou are not the party leader!"
					else:
						send "{@prefix} &cYou are not in a party!"
				else:
					send "{@invalid}"
		else:
			send "{@invalid}"
			
command /partychat [<text>]:
	aliases: /pc
	permission: {@perm}
	permission message: {@pm}
	trigger:
		if {%player%::leader} is set:
			if arg-1 is set:
				loop all players:
					if {%loop-player%::leader} is {%player%::leader}:
						send "&5Party Chat - %player%&5: &d%arg-1%" to loop-player
			else:
				if {%player%::partychat} is false:
					set {%player%::partychat} to true
					send "{@prefix} &7Party chat has been enabled!"
				else:
					set {%player%::partychat} to false
					send "{@prefix} &7Party chat has been disabled!"
		else:
			send "{@prefix} &cYou are not in a party!"
				
on chat:
	if {%player%::partychat} is true:
		set {%player%.partymsg} to message
		cancel event
		loop all players:
			if {%loop-player%::leader} is {%player%::leader}:
				send "&5Party Chat - %player%&5: &d%{%player%.partymsg}%" to loop-player
				
every tick:
	loop all players:
		if {%loop-player%::leader} is not set:
			set {%loop-player%::partychat} to false