Advertisement
Guest User

Untitled

a guest
Jan 19th, 2019
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.38 KB | None | 0 0
  1. options:
  2. prefix: &3GangManager &8» &7
  3.  
  4. notInAGang: You are not in a gang
  5. notGangLeader: You are not the gang leader
  6. arg2NotSet: Arg-2 is not set
  7. cantInviteYourself: You cannot invite yourself
  8. arg2IsNotOnline: %arg-2% is not online
  9. arg2AlreadyInvited: %arg-2% has already been invited
  10. arg2AlreadyInGang: %arg-2% is already in a party
  11. alreadyInGang: You are already in a gang
  12. noInvite: You have not received an invite
  13. joinedArg2Gang:You have joined %arg-2%'s gang
  14. playerJoinedGang: %player% has joined your gang
  15. arg2InvitedToGang: Invited %arg-2% to gang
  16. invitedToGang: You have been invited to <cmd:/gang join %player%>&n%player%'s gang (CLICK)
  17. notInvited: You have not been invited to that gang
  18. arg2NotInYourGang: %arg-2% is not in your gang
  19. arg2NotInGang: %arg-2% is not in a gang
  20. availableCommands: Available Commands >
  21. nextPage: Next page
  22. cmdHelpInvite: invite a player to your gang
  23. cmdHelpJoin: join a gang you were invited to
  24. cmdHelpLeave: leave the gang you're in
  25. cmdHelpDisband: disband your gang
  26. cmdHelpInfo: show info about you or specific player
  27. CmdHelp: show commands and description
  28. infoLeader: Leader >
  29. infoMembers: Members >
  30. gangDisbanded: The gang was disbanded
  31. leaveGang: You left the gang
  32. leftGang: %{_g}% left the gang
  33.  
  34. #
  35. # * Checks if offlineplayer is in a gang
  36. # * Returns a boolean:
  37. # * - true <if offlineplayer is in a gang>
  38. # * - false <if offlineplayer is not in a gang>
  39. #
  40. function isInGang(g: offlineplayer) :: boolean:
  41. set {_uuid} to uuid of {_g}
  42. return true if {gang::ingang::%{_uuid}%} is set else false
  43.  
  44. #
  45. # * Checks if uuid of a player is in a gang
  46. # * Returns a boolean:
  47. # * - true <if uuid of a player is in a gang>
  48. # * - false <if uuid of a player is not in a gang>
  49. #
  50. function isInGangUUID(uuid: text) :: boolean:
  51. return true if {gang::ingang::%{_uuid}%} is set else false
  52.  
  53. #
  54. # * Checks if offlineplayer is a gang leader
  55. # * Returns a boolean:
  56. # * - true <if offlineplayer is a gang leader>
  57. # * - false <if offlineplayer is not a gang leader>
  58. #
  59. function isGangLeader(g: offlineplayer) :: boolean:
  60. set {_uuid} to uuid of {_g}
  61. return true if {gang::gangs::%{_uuid}%::leader} = {_uuid} else false
  62.  
  63. #
  64. # * Checks if uuid of player is a gang leader
  65. # * Returns a boolean:
  66. # * - true <if uuid of player is a gang leader>
  67. # * - false <if uuid of player is not a gang leader>
  68. #
  69. function isGangLeaderUUID(uuid: text) :: boolean:
  70. return true if {gang::gangs::%{_uuid}%::leader} = {_uuid} else false
  71.  
  72. #
  73. # * Gets gang from a player
  74. # * Returns a text:
  75. # * - text <if gang exists>
  76. # * - null <if gang doesn't exist>
  77. #
  78. function getGangOfPlayer(g: offlineplayer) :: text:
  79. set {_uuid} to uuid of {_g}
  80. return {gang::ingang::%{_uuid}%}
  81.  
  82. #
  83. # * Gets gang from a uuid of player
  84. # * Returns a text:
  85. # * - text <if gang exists>
  86. # * - null <if gang doesn't exist>
  87. #
  88. function getGangOfUUID(uuid: text) :: text:
  89. return {gang::ingang::%{_uuid}%}
  90.  
  91. #
  92. # * Gets party leader from a gang
  93. # * Returns an offlineplayer:
  94. # * - offlineplayer <if gang exists>
  95. # * - null <if gang doesn't exist>
  96. #
  97. function getGangLeader(gang: text) :: offlineplayer:
  98. return {gang::gangs::%{_gang}%::leader} parsed as offlineplayer
  99.  
  100. #
  101. # * Gets party members from a gang
  102. # * Returns a list of offlineplayer objects:
  103. # * - offlineplayers <if gang exists>
  104. # * - null <if gang doesn't exist>
  105. #
  106. function getGangMembers(gang: text) :: offlineplayers:
  107. loop {gang::gangs::%{_gang}%::members::*}:
  108. set {_members::%loop-index%} to loop-value parsed as offlineplayer
  109. return {_members::*}
  110.  
  111. #
  112. # * Disbands inputted gang and sends
  113. # * messages to leader and members
  114. # * Returns a boolean:
  115. # * - true <if gang existed>
  116. # * - false <if gang didn't exist>
  117. #
  118. function gangDisband(gang: text) :: boolean:
  119. {gang::gangs::%{_gang}%::leader} is set:
  120. loop {gang::gangs::%{_gang}%::members::*}:
  121. clear {gang::ingang::%loop-value%}
  122. send "{@prefix}{@gangDisbanded}" to loop-value parsed as player
  123. set {_gangLeader} to {_gang} parsed as player
  124. send "{@prefix}{@gangDisbanded}" to {_gangLeader}
  125. clear {gang::gangs::%{_gang}%::*}
  126. clear {gang::inparty::%{_gang}%}
  127. loop all indexes of {gang::invites::*}:
  128. clear {gang::invites::%loop-value%::%{_gangLeader}%}
  129. return true
  130. return false
  131.  
  132. #
  133. # * Removes offlineplayer from their gang
  134. # * Returns a boolean:
  135. # * - true <if offlineplayer was in a gang>
  136. # * - false <if offlineplayer wasn't in a gang>
  137. #
  138. function removePlayerFromGang(g: offlineplayer) :: boolean:
  139. isInGang({_g}) = true:
  140. set {_uuid} to uuid of {_g}
  141. set {_party} to getGangOfPlayer({_g})
  142. send "{@prefix}{@leaveGang}" to {_g}
  143. set {_gangLeader} to {_gang} parsed as player
  144. send "{@prefix}{@leftGang}" to {_gangLeader} and {gang::gangs::%{_gang}%::members::*} where [input != {_uuid}]
  145. size of {gang::gangs::%{_gang}%::members::*} - 1 = 0:
  146. gangDisband({_gang})
  147. else:
  148. remove {_uuid} from {gang::gangs::%{_gang}%::members::*}
  149. clear {gang::inparty::%{_uuid}%}
  150. return true
  151. return false
  152.  
  153.  
  154. command gang [<text>] [<text>]:
  155. trigger:
  156. arg-1 = "invite":
  157. arg-2 is set:
  158. arg-2 != "%player%":
  159. isInGang(player) = true:
  160. isGangLeader(player) = false:
  161. send "{@prefix}{@notGangLeader}"
  162. stop
  163. set {_invitedPlayer} to arg-2 parsed as offlineplayer
  164. {_invitedPlayer} is online:
  165. set {_uuid} to uuid of {_invitedPlayer}
  166. isInPartyUUID({_uuid}) = false:
  167. {gang::invites::%arg-2%::%player%} is not set:
  168. set {gang::invites::%arg-2%::%player%} to true
  169. send "{@prefix}{@invitedToGang}" to {_invitedPlayer}
  170. send "{@prefix}{@arg2InvitedToGang}"
  171. wait 60 seconds
  172. clear {gang::invites::%arg-2%::%player%}
  173. else:
  174. send "{@prefix}{@arg2AlreadyInvited}"
  175. else:
  176. send "{@prefix}{@arg2AlreadyInGang}"
  177. else:
  178. send "{@prefix}{@arg2IsNotOnline}"
  179. else:
  180. send "{@prefix}{@cantInviteYourself}"
  181. else:
  182. send "{@prefix}{@arg2NotSet}"
  183. arg-1 = "accept" or "join":
  184. isInGang(player):
  185. send "{@prefix}{@alreadyInGang}"
  186. else if size of {gang::invites::%player%::*} = 0:
  187. send "{@prefix}{@noInvite}"
  188. else if arg-2 is set:
  189. {gang::invites::%player%::%arg-2%} is set:
  190. clear {gang::invites::%player%::*}
  191. clear {gang::invites::%arg-2%::*}
  192. send "{@prefix}{@joinedArg2Gang}"
  193. set {_GangLeader} to arg-2 parsed as offlineplayer
  194. send "{@prefix}{@playerJoinedGang}" to {_GangLeader} and {gang::gangs::%{_uuid}%::members::*}
  195. set {_uuid} to uuid of {_GangLeader}
  196. size of {gang::gangs::%{_uuid}%::members::*} = 0:
  197. set {gang::gangs::%{_uuid}%::leader} to {_uuid}
  198. set {gang::ingang::%{_uuid}%} to {_uuid}
  199. add uuid of player to {gang::gangs::%{_uuid}%::members::*}
  200. set {gang::ingang::%uuid of player%} to {_uuid}
  201. else:
  202. send "{@prefix}{@notInvited}"
  203. else:
  204. send "{@prefix}{@arg2NotSet}"
  205. arg-1 = "leave":
  206. isGangLeader(player) = true:
  207. player command "gang disband"
  208. else if isInGang(player) = true:
  209. removePlayerFromGang(player)
  210. else:
  211. send "{@prefix}{@notInAGang}"
  212. arg-1 = "disband":
  213. isInGang(player) = true:
  214. isGangLeader(player) = true:
  215. gangDisband(getGangOfPlayer(player))
  216. else:
  217. send "{@prefix}{@notGangLeader}"
  218. else:
  219. send "{@prefix}{@notInAGang}"
  220. arg-1 = "kick":
  221. isInGang(player) = true:
  222. arg-2 is set:
  223. isGangLeader(player) = true:
  224. set {_playerToKick} to arg-2 parsed as offlineplayer
  225. getGangOfPlayer(player) = getGangOfPlayer({_playerToKick}):
  226. removePlayerFromGang({_playerToKick})
  227. else:
  228. send "{@prefix}{@arg2NotInYourGang}"
  229. else:
  230. send "{@prefix}{@notGangLeader}"
  231. else:
  232. send "{@prefix}{@arg2NotSet}"
  233. else:
  234. send "{@prefix}{@notInAGang}"
  235. arg-1 = "show" or "info":
  236. arg-2 is not set:
  237. isInGang(player) = true:
  238. set {_gang} to getGangOfPlayer(player)
  239. send "{@prefix}{@infoLeader} %getGangLeader({_gang})%"
  240. send "{@prefix}{@infoMembers} %getGangMembers({_gang})%"
  241. else:
  242. send "{@prefix}{@notInAGang}"
  243. else:
  244. set {_playerToCheck} to arg-2 parsed as offlineplayer
  245. isInGang({_playerToCheck}) = true:
  246. set {_gang} to getGangOfPlayer({_playerToCheck})
  247. send "{@prefix}{@infoLeader} %getGangLeader({_gang})%"
  248. send "{@prefix}{@infoMembers} %getGangMembers({_gang})%"
  249. else:
  250. send "{@prefix}{@arg2NotInGang}"
  251. arg-1 is not set:
  252. isInGang(player) = true:
  253. player command "gang show"
  254. else:
  255. player command "gang help 1"
  256. arg-1 = "help":
  257. arg-2 is not set:
  258. player command "gang help 1"
  259. else:
  260. set {_max} to (arg-2 parsed as integer) * 9
  261. set {_min} to {_max} - 8
  262. set {_commands::names::*} to "invite", "accept/join", "leave", "disband", "show/info" and "help"
  263. set {_commands::desc::*} to "{@cmdHelpInvite}", "{@cmdHelpJoin}", "{@cmdHelpLeave}", "{@cmdHelpDisband}", "{@cmdHelpInfo}" and "{@CmdHelp}"
  264. {_commands::names::%{_min}%} is set
  265. send "{@prefix}{@availableCommands}"
  266. loop numbers from {_min} to {_max}:
  267. {_commands::names::%loop-value-1%} is not set:
  268. stop loop
  269. send "{@prefix}%{_commands::names::%loop-value-1%}% &7&l- &r%{_commands::desc::%loop-value-1%}%"
  270. mod((loop-value-1),9) = 0:
  271. {_commands::names::%(loop-value-1) + 1%} is set
  272. send "{@prefix}{@nextPage} /party help %((loop-value-1) / 9) + 1%"
  273. stop loop
  274.  
  275. on load:
  276. clear {gang::invites::*}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement