Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- options:
- prefix: &3GangManager &8» &7
- notInAGang: You are not in a gang
- notGangLeader: You are not the gang leader
- arg2NotSet: Arg-2 is not set
- cantInviteYourself: You cannot invite yourself
- arg2IsNotOnline: %arg-2% is not online
- arg2AlreadyInvited: %arg-2% has already been invited
- arg2AlreadyInGang: %arg-2% is already in a party
- alreadyInGang: You are already in a gang
- noInvite: You have not received an invite
- joinedArg2Gang:You have joined %arg-2%'s gang
- playerJoinedGang: %player% has joined your gang
- arg2InvitedToGang: Invited %arg-2% to gang
- invitedToGang: You have been invited to <cmd:/gang join %player%>&n%player%'s gang (CLICK)
- notInvited: You have not been invited to that gang
- arg2NotInYourGang: %arg-2% is not in your gang
- arg2NotInGang: %arg-2% is not in a gang
- availableCommands: Available Commands >
- nextPage: Next page
- cmdHelpInvite: invite a player to your gang
- cmdHelpJoin: join a gang you were invited to
- cmdHelpLeave: leave the gang you're in
- cmdHelpDisband: disband your gang
- cmdHelpInfo: show info about you or specific player
- CmdHelp: show commands and description
- infoLeader: Leader >
- infoMembers: Members >
- gangDisbanded: The gang was disbanded
- leaveGang: You left the gang
- leftGang: %{_g}% left the gang
- #
- # * Checks if offlineplayer is in a gang
- # * Returns a boolean:
- # * - true <if offlineplayer is in a gang>
- # * - false <if offlineplayer is not in a gang>
- #
- function isInGang(g: offlineplayer) :: boolean:
- set {_uuid} to uuid of {_g}
- return true if {gang::ingang::%{_uuid}%} is set else false
- #
- # * Checks if uuid of a player is in a gang
- # * Returns a boolean:
- # * - true <if uuid of a player is in a gang>
- # * - false <if uuid of a player is not in a gang>
- #
- function isInGangUUID(uuid: text) :: boolean:
- return true if {gang::ingang::%{_uuid}%} is set else false
- #
- # * Checks if offlineplayer is a gang leader
- # * Returns a boolean:
- # * - true <if offlineplayer is a gang leader>
- # * - false <if offlineplayer is not a gang leader>
- #
- function isGangLeader(g: offlineplayer) :: boolean:
- set {_uuid} to uuid of {_g}
- return true if {gang::gangs::%{_uuid}%::leader} = {_uuid} else false
- #
- # * Checks if uuid of player is a gang leader
- # * Returns a boolean:
- # * - true <if uuid of player is a gang leader>
- # * - false <if uuid of player is not a gang leader>
- #
- function isGangLeaderUUID(uuid: text) :: boolean:
- return true if {gang::gangs::%{_uuid}%::leader} = {_uuid} else false
- #
- # * Gets gang from a player
- # * Returns a text:
- # * - text <if gang exists>
- # * - null <if gang doesn't exist>
- #
- function getGangOfPlayer(g: offlineplayer) :: text:
- set {_uuid} to uuid of {_g}
- return {gang::ingang::%{_uuid}%}
- #
- # * Gets gang from a uuid of player
- # * Returns a text:
- # * - text <if gang exists>
- # * - null <if gang doesn't exist>
- #
- function getGangOfUUID(uuid: text) :: text:
- return {gang::ingang::%{_uuid}%}
- #
- # * Gets party leader from a gang
- # * Returns an offlineplayer:
- # * - offlineplayer <if gang exists>
- # * - null <if gang doesn't exist>
- #
- function getGangLeader(gang: text) :: offlineplayer:
- return {gang::gangs::%{_gang}%::leader} parsed as offlineplayer
- #
- # * Gets party members from a gang
- # * Returns a list of offlineplayer objects:
- # * - offlineplayers <if gang exists>
- # * - null <if gang doesn't exist>
- #
- function getGangMembers(gang: text) :: offlineplayers:
- loop {gang::gangs::%{_gang}%::members::*}:
- set {_members::%loop-index%} to loop-value parsed as offlineplayer
- return {_members::*}
- #
- # * Disbands inputted gang and sends
- # * messages to leader and members
- # * Returns a boolean:
- # * - true <if gang existed>
- # * - false <if gang didn't exist>
- #
- function gangDisband(gang: text) :: boolean:
- {gang::gangs::%{_gang}%::leader} is set:
- loop {gang::gangs::%{_gang}%::members::*}:
- clear {gang::ingang::%loop-value%}
- send "{@prefix}{@gangDisbanded}" to loop-value parsed as player
- set {_gangLeader} to {_gang} parsed as player
- send "{@prefix}{@gangDisbanded}" to {_gangLeader}
- clear {gang::gangs::%{_gang}%::*}
- clear {gang::inparty::%{_gang}%}
- loop all indexes of {gang::invites::*}:
- clear {gang::invites::%loop-value%::%{_gangLeader}%}
- return true
- return false
- #
- # * Removes offlineplayer from their gang
- # * Returns a boolean:
- # * - true <if offlineplayer was in a gang>
- # * - false <if offlineplayer wasn't in a gang>
- #
- function removePlayerFromGang(g: offlineplayer) :: boolean:
- isInGang({_g}) = true:
- set {_uuid} to uuid of {_g}
- set {_party} to getGangOfPlayer({_g})
- send "{@prefix}{@leaveGang}" to {_g}
- set {_gangLeader} to {_gang} parsed as player
- send "{@prefix}{@leftGang}" to {_gangLeader} and {gang::gangs::%{_gang}%::members::*} where [input != {_uuid}]
- size of {gang::gangs::%{_gang}%::members::*} - 1 = 0:
- gangDisband({_gang})
- else:
- remove {_uuid} from {gang::gangs::%{_gang}%::members::*}
- clear {gang::inparty::%{_uuid}%}
- return true
- return false
- command gang [<text>] [<text>]:
- trigger:
- arg-1 = "invite":
- arg-2 is set:
- arg-2 != "%player%":
- isInGang(player) = true:
- isGangLeader(player) = false:
- send "{@prefix}{@notGangLeader}"
- stop
- set {_invitedPlayer} to arg-2 parsed as offlineplayer
- {_invitedPlayer} is online:
- set {_uuid} to uuid of {_invitedPlayer}
- isInPartyUUID({_uuid}) = false:
- {gang::invites::%arg-2%::%player%} is not set:
- set {gang::invites::%arg-2%::%player%} to true
- send "{@prefix}{@invitedToGang}" to {_invitedPlayer}
- send "{@prefix}{@arg2InvitedToGang}"
- wait 60 seconds
- clear {gang::invites::%arg-2%::%player%}
- else:
- send "{@prefix}{@arg2AlreadyInvited}"
- else:
- send "{@prefix}{@arg2AlreadyInGang}"
- else:
- send "{@prefix}{@arg2IsNotOnline}"
- else:
- send "{@prefix}{@cantInviteYourself}"
- else:
- send "{@prefix}{@arg2NotSet}"
- arg-1 = "accept" or "join":
- isInGang(player):
- send "{@prefix}{@alreadyInGang}"
- else if size of {gang::invites::%player%::*} = 0:
- send "{@prefix}{@noInvite}"
- else if arg-2 is set:
- {gang::invites::%player%::%arg-2%} is set:
- clear {gang::invites::%player%::*}
- clear {gang::invites::%arg-2%::*}
- send "{@prefix}{@joinedArg2Gang}"
- set {_GangLeader} to arg-2 parsed as offlineplayer
- send "{@prefix}{@playerJoinedGang}" to {_GangLeader} and {gang::gangs::%{_uuid}%::members::*}
- set {_uuid} to uuid of {_GangLeader}
- size of {gang::gangs::%{_uuid}%::members::*} = 0:
- set {gang::gangs::%{_uuid}%::leader} to {_uuid}
- set {gang::ingang::%{_uuid}%} to {_uuid}
- add uuid of player to {gang::gangs::%{_uuid}%::members::*}
- set {gang::ingang::%uuid of player%} to {_uuid}
- else:
- send "{@prefix}{@notInvited}"
- else:
- send "{@prefix}{@arg2NotSet}"
- arg-1 = "leave":
- isGangLeader(player) = true:
- player command "gang disband"
- else if isInGang(player) = true:
- removePlayerFromGang(player)
- else:
- send "{@prefix}{@notInAGang}"
- arg-1 = "disband":
- isInGang(player) = true:
- isGangLeader(player) = true:
- gangDisband(getGangOfPlayer(player))
- else:
- send "{@prefix}{@notGangLeader}"
- else:
- send "{@prefix}{@notInAGang}"
- arg-1 = "kick":
- isInGang(player) = true:
- arg-2 is set:
- isGangLeader(player) = true:
- set {_playerToKick} to arg-2 parsed as offlineplayer
- getGangOfPlayer(player) = getGangOfPlayer({_playerToKick}):
- removePlayerFromGang({_playerToKick})
- else:
- send "{@prefix}{@arg2NotInYourGang}"
- else:
- send "{@prefix}{@notGangLeader}"
- else:
- send "{@prefix}{@arg2NotSet}"
- else:
- send "{@prefix}{@notInAGang}"
- arg-1 = "show" or "info":
- arg-2 is not set:
- isInGang(player) = true:
- set {_gang} to getGangOfPlayer(player)
- send "{@prefix}{@infoLeader} %getGangLeader({_gang})%"
- send "{@prefix}{@infoMembers} %getGangMembers({_gang})%"
- else:
- send "{@prefix}{@notInAGang}"
- else:
- set {_playerToCheck} to arg-2 parsed as offlineplayer
- isInGang({_playerToCheck}) = true:
- set {_gang} to getGangOfPlayer({_playerToCheck})
- send "{@prefix}{@infoLeader} %getGangLeader({_gang})%"
- send "{@prefix}{@infoMembers} %getGangMembers({_gang})%"
- else:
- send "{@prefix}{@arg2NotInGang}"
- arg-1 is not set:
- isInGang(player) = true:
- player command "gang show"
- else:
- player command "gang help 1"
- arg-1 = "help":
- arg-2 is not set:
- player command "gang help 1"
- else:
- set {_max} to (arg-2 parsed as integer) * 9
- set {_min} to {_max} - 8
- set {_commands::names::*} to "invite", "accept/join", "leave", "disband", "show/info" and "help"
- set {_commands::desc::*} to "{@cmdHelpInvite}", "{@cmdHelpJoin}", "{@cmdHelpLeave}", "{@cmdHelpDisband}", "{@cmdHelpInfo}" and "{@CmdHelp}"
- {_commands::names::%{_min}%} is set
- send "{@prefix}{@availableCommands}"
- loop numbers from {_min} to {_max}:
- {_commands::names::%loop-value-1%} is not set:
- stop loop
- send "{@prefix}%{_commands::names::%loop-value-1%}% &7&l- &r%{_commands::desc::%loop-value-1%}%"
- mod((loop-value-1),9) = 0:
- {_commands::names::%(loop-value-1) + 1%} is set
- send "{@prefix}{@nextPage} /party help %((loop-value-1) / 9) + 1%"
- stop loop
- on load:
- clear {gang::invites::*}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement