Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- script options:
- $ db url jdbc:mysql://127.0.0.1:3306/<name>
- $ db username <insert DB username>
- $ db password <insert DB password>
- command /party [<text>] [<text>]:
- aliases: /p
- trigger:
- if arg-1 is "invite":
- if sql var "pu::%arg-2%" exists is false:
- bungee tell "&e%arg-2%&7 has never logged in!" to "%player%"
- else if sql var "online::%arg-2%" exists is false:
- bungee tell "&e%arg-2%&7 is not online." to "%player%"
- else if sql var "settings::partyfriendsonly::%arg-2%" exists is true:
- bungee tell "&7That player is only accepting friend party invites." to "%player%"
- else if sql var "settings::partyinvites::%arg-2%" exists is true:
- bungee tell "&7That player is not accepting party invites." to "%player%"
- else if sql var "party::invites::pending::%arg-2%::%player%" exists is true:
- bungee tell "&7You've already invited that player to your party. Please wait for them to accept." to "%player%"
- else if "%arg-2%" is "%sender%":
- bungee tell "&7You cannot invite yourself to a party!" to "%player%"
- else:
- set {_objects::*} to objects in column "VarName" from result of query "SELECT * FROM SQLVariables WHERE VarName LIKE '%%party::parties::%player's uuid%%%'"
- if size of {_objects::*} is greater than or equal to 10:
- bungee tell "&7You cannot have a party larger than 10 players." to "%player%"
- else:
- set sql var "party::invites::pending::%arg-2%::%player%" to "true"
- bungee tell "&7You have invited &e%arg-2%&7 to your party!" to "%player%"
- if subtext of "%player%" from length of "%player%" to length of "%player%" is "s":
- bungee tell "&7You've been invited to join &e%players%&7' party. Use &e/party accept %player% &7to join their party." to "%arg-2%"
- else:
- bungee tell "&7You've been invited to join &e%players%&7's party. Use &e/party accept %player% &7to join their party." to "%arg-2%"
- wait 60 seconds
- sql var "party::invites::pending::%arg-2%::%player%" exists is true
- delete sql var "party::invites::pending::%arg-2%::%player%"
- bungee tell "&7Party request to &e%arg-2% &7cancelled." to "%player%"
- bungee tell "&7Party request from &e%player% &7cancelled." to "%arg-2%"
- else if arg-1 is "accept":
- if sql var "party::invites::pending::%player%::%arg-2%" exists is false:
- bungee tell "&7That player has not sent you a party invite." to "%player%"
- else:
- delete sql var "party::invites::pending::%player%::%arg-2%"
- set sql var "party::parties::%arg-2%" to "true"
- set sql var "party::parties::%arg-2%::%arg-2%" to "true"
- set sql var "party::parties::%arg-2%::%player%" to "true"
- set sql var "party::inparty::%arg-2%" to "%arg-2%"
- set sql var "party::inparty::%player%" to "%arg-2%"
- set {_uuid} to value of sql var "pu::%arg-2%"
- set {_objects::*} to objects in column "VarName" from result of query "SELECT * FROM SQLVariables WHERE VarName LIKE '%%party::parties::%{_uuid}%%%'"
- loop {_objects::*}:
- set {_player::*} to split loop-value at "::"
- set {_player} to value of sql var "pn::%{_player::4}%"
- {_player} is not "%player%"
- bungee tell "&e%player% &7has joined your party." to "%{_player}%"
- if subtext of "%arg-2%" from length of "%arg-2%" to length of "%arg-2%" is "s":
- bungee tell "&7You've joined &e%arg-2%&7' party." to "%player%"
- else:
- bungee tell "&7You've joined &e%arg-2%&7's party." to "%player%"
- else if arg-1 is "leave":
- if sql var "party::inparty::%player%" exists is false:
- bungee tell "&7You're not in a party." to "%player%"
- else:
- if sql var "party::parties::%player%" exists is true:
- delete sql var "party::inparty::%player%"
- delete sql var "party::parties::%player%"
- delete sql var "party::parties::%player%::%player%"
- set {_objects::*} to objects in column "VarName" from result of query "SELECT * FROM SQLVariables WHERE VarName LIKE '%%party::parties::%player's uuid%%%'"
- loop {_objects::*}:
- set {_player::*} to split loop-value at "::"
- set {_player} to value of sql var "pn::%{_player::4}%"
- add {_player} to {_List::*}
- delete sql var "party::parties::%player%::%{_player}%"
- set {_newowner} to random object out of {_List::*}
- loop {_List::*}:
- set sql var "party::parties::%{_newowner}%::%loop-value%" to "true"
- bungee tell "&e%player% &7(party owner) left your party." to "%loop-value%"
- bungee tell "&7You've left your party." to "%player%"
- else:
- set {_partyowner} to value of sql var "party::inparty::%player%"
- delete sql var "party::inparty::%player%"
- delete sql var "party::parties::%{_partyowner}%::%player%"
- set {_uuid} to value of sql var "pu::%{_partyowner}%"
- set {_objects::*} to objects in column "VarName" from result of query "SELECT * FROM SQLVariables WHERE VarName LIKE '%%party::parties::%{_uuid}%%%'"
- loop {_objects::*}:
- set {_player::*} to split loop-value at "::"
- set {_player} to value of sql var "pn::%{_player::4}%"
- bungee tell "&e%player% &7has left your party." to "%{_player}%"
- bungee tell "&7You've left your party." to "%player%"
- if size of {_objects::*} is less than or equal to 1:
- delete sql var "party::inparty::%player%"
- delete sql var "party::parties::%player%"
- else if arg-1 is "disband":
- if sql var "party::inparty::%player%" exists is false:
- bungee tell "&7You're not in a party." to "%player%"
- else if sql var "party::parties::%player%" exists is false:
- bungee tell "&7You're not the party owner of your party." to "%player%"
- else:
- delete sql var "party::inparty::%player%"
- delete sql var "party::parties::%player%"
- delete sql var "party::parties::%player%::%player%"
- set {_objects::*} to objects in column "VarName" from result of query "SELECT * FROM SQLVariables WHERE VarName LIKE '%%party::parties::%player's uuid%%%'"
- loop {_objects::*}:
- set {_player::*} to split loop-value at "::"
- set {_player} to value of sql var "pn::%{_player::4}%"
- delete sql var "party::parties::%player%::%{_player}%"
- delete sql var "party::inparty::%{_player}%"
- bungee tell "&e%player% &7disbanded the party." to "%{_player}%"
- bungee tell "&7You have disbanded your party." to "%player%"
- else if arg-1 is "kick":
- if sql var "party::inparty::%player%" exists is false:
- bungee tell "&7You're not in a party." to "%player%"
- else if sql var "party::parties::%player%" exists is false:
- bungee tell "&7You're not the party owner of your party." to "%player%"
- else if "%arg-2%" is "%player%":
- bungee tell "&7You cannot kick yourself!" to "%player%"
- else:
- if sql var "party::parties::%player%::%arg-2%" exists is false:
- bungee tell "&7That player is not in your party." to "%player%"
- else:
- delete sql var "party::parties::%player%::%arg-2%"
- delete sql var "party::inparty::%arg-2%"
- set {_objects::*} to objects in column "VarName" from result of query "SELECT * FROM SQLVariables WHERE VarName LIKE '%%party::parties::%player's uuid%%%'"
- loop {_objects::*}:
- set {_player::*} to split loop-value at "::"
- set {_player} to value of sql var "pn::%{_player::4}%"
- bungee tell "&e%arg-2% &7has been kicked from your party." to "%{_player}%"
- bungee tell "&7You've been kicked from your party." to "%arg-2%"
- if size of {_objects::*} is less than or equal to 1:
- delete sql var "party::inparty::%player%"
- delete sql var "party::parties::%player%"
- delete sql var "party::parties::%player%::%player%"
- else if arg-1 is "list":
- if sql var "party::inparty::%player%" exists is false:
- bungee tell "&7You're not in a party." to "%player%"
- else:
- set {_owner} to value of sql var "party::inparty::%player%"
- set {_uuid} to value of sql var "pu::%{_owner}%"
- set {_objects::*} to objects in column "VarName" from result of query "SELECT * FROM SQLVariables WHERE VarName LIKE '%%party::parties::%{_uuid}%%%'"
- loop {_objects::*}:
- set {_player::*} to split loop-value at "::"
- {_player::4} is set
- set {_player} to value of sql var "pn::%{_player::4}%"
- set {_online} to sql var "online::%{_player::4}%" exists
- if {_online} is true:
- add "&e%{_player}%" to {_party::*}
- else:
- add "&c%{_player}%" to {_party::*}
- bungee tell "&7Your Party: %{_party::*}%" to "%player%"
- else if arg-1 is "promote":
- if sql var "party::inparty::%player%" exists is false:
- bungee tell "&7You're not in a party." to "%player%"
- else if sql var "party::parties::%player%" exists is false:
- bungee tell "&7You're not the party owner of your party." to "%player%"
- else if sql var "party::parties::%player%::%arg-2%" exists is false:
- bungee tell "&7That player is not in your party." to "%player%"
- else if "%arg-2%" is "%sender%":
- bungee tell "&7You are already the party owner." to "%player%"
- else:
- delete sql var "party::party::%player%"
- set {_objects::*} to objects in column "VarName" from result of query "SELECT * FROM SQLVariables WHERE VarName LIKE '%%party::parties::%player's uuid%%%'"
- loop {_objects::*}:
- set {_player::*} to split loop-value at "::"
- set {_player} to value of sql var "pn::%{_player::4}%"
- set sql var "party::parties::%arg-2%::%{_player}%" to "true"
- bungee tell "&e%arg-2% &7has been promoted to be owner for your party." to "%loop-value%"
- bungee tell "&7You've left your party." to "%player%"
- else:
- if arg-1 is set:
- arg-1 is not "help" or "?"
- bungee tell "&7Unknown argument: ""%arg-1%""." to "%player%"
- bungee tell "&ePatry Commands:" to "%player%"
- bungee tell "&e/party invite [player] &7- Invites a player to your party." to "%player%"
- bungee tell "&e/party accept [player] &7- Accepts a party invite from a player." to "%player%"
- bungee tell "&e/party leave &7- Leaves your party." to "%player%"
- bungee tell "&e/party disband &7- Removes all players from party." to "%player%"
- bungee tell "&e/party kick &7- Kicks a player from your party." to "%player%"
- bungee tell "&e/party list &7- List of all players in your party." to "%player%"
- on quit:
- sql var "party::inparty::%player%" exists is true
- wait 1 second
- loop 300 times:
- wait 1 second
- $ thread
- set {_online} to sql var "online::%player%" exists
- if {_online} is true:
- stop trigger
- sql var "party::inparty::%player%" exists is true
- if sql var "party::parties::%player%" exists is true:
- delete sql var "party::inparty::%player%"
- delete sql var "party::parties::%player%"
- delete sql var "party::parties::%player%::%player%"
- set {_objects::*} to objects in column "VarName" from result of query "SELECT * FROM SQLVariables WHERE VarName LIKE '%%party::parties::%player's uuid%%%'"
- loop {_objects::*}:
- set {_player::*} to split loop-value at "::"
- set {_player} to value of sql var "pn::%{_player::4}%"
- set {_online} to sql var "online::%{_player}%" exists
- if {_online} is false:
- add 1 to {_offline}
- add {_player} to {_List::*}
- delete sql var "party::parties::%player%::%{_player}%"
- if size of {_List::*} is {_offline}:
- loop {_List::*}:
- delete sql var "party::inparty::%loop-value%"
- delete sql var "party::inparty::%loop-value%::%loop-value%"
- delete sql var "party::parties::%loop-value%"
- stop trigger
- set {_newowner} to random object out of {_List::*}
- loop {_List::*}:
- set sql var "party::parties::%{_newowner}%::%loop-value%" to "true"
- bungee tell "&7Party owner has been offline for longer than 5 minutes, so he was kicked." to "%loop-value%"
- else:
- set {_partyowner} to value of sql var "party::inparty::%player%"
- delete sql var "party::inparty::%player%"
- delete sql var "party::parties::%{_partyowner}%::%player%"
- set {_uuid} to value of sql var "pu::%{_partyowner}%"
- set {_objects::*} to objects in column "VarName" from result of query "SELECT * FROM SQLVariables WHERE VarName LIKE '%%party::parties::%{_uuid}%%%'"
- loop {_objects::*}:
- set {_player::*} to split loop-value at "::"
- set {_player} to value of sql var "pn::%{_player::4}%"
- bungee tell "&e%player% &7has been offline for longer than 5 minutes, so he was kicked from your party." to "%{_player}%"
- if size of {_objects::*} is less than or equal to 1:
- delete sql var "party::inparty::%player%"
- delete sql var "party::inparty::%player%::%player%"
- delete sql var "party::parties::%player%"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement