NoHacksJustACow

clan.sk

Jan 21st, 2019
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.99 KB | None | 0 0
  1. #
  2. # Created by MrScopes, don't take credit for it ya nub
  3. #
  4.  
  5. # Contributers: Sargera, Aurorionz
  6.  
  7. # Configuration:
  8.  
  9. options:
  10. version: 0.2
  11. prefix: &3&lClans # Prefix in messages. Be sure to put the primary color in the prefix.
  12. seperator: &8➟ # Seperated prefix from message in messages
  13. priColor: &3 # Primary color
  14. secColor: &7 # Secondary color
  15. featureSoon: Feature coming soon... # Message received by an upcoming feature
  16. admin: clans.admin # Admin perms
  17. notClan: That clan dosen't exist. # (/clan disband and /clan info)
  18. disbandedMsg: Your clan was disbanded. # Message when your clan is disbanned (for members)
  19. notOwner: You must be the owner of your clan. # When they aren't the owner
  20. inClan: That player is already in your clan. # When they are in your clan (/clan Invite)
  21. playerOffline: That player is offline. # When the player is offline (/clan invite)
  22. clanFull: That clan is currently full (5/5). # When your clan is full (/clan invite)
  23. notInvited: You have no pending invites. # When a player is not invited (/clan Join)
  24. notInClan: You're not in a clan. # When a player tries to leave a non existent clan (/clan leave)
  25. playerNotInClan: That player is not in your clan. # (/clan kick)
  26. newOwner: You're now the new owner of %{clan::%player%}%. # When a player is elected new owner
  27. cooldown: 300 # Time in seconds (/clan create)
  28. cooldownMsg: /clan commands are on cooldown. # (/clan create)
  29. leftClan: %player% left the clan. # (/clan leave)
  30. noKick: You may not kick yourself. # (/clan kick)
  31. kickedFromClan: %arg 2% has been kicked from the clan. # (/clan kick)
  32. clanCreated: has created # Player and clan name is already put in here. (/clan create)
  33. inClan: You're already in a clan. # When a user tries to make a clan whilst in one (/clan create)
  34. clanExists: That clan already exists. # When a clan already exists (/clan create)
  35. inapName: A-Z and no swearing in your clan name. # When a clan name contains a blocked word (/clan create)
  36. nameLength: 9 # Maxmium length of a clan name (/clan create)
  37. tooLong: Clan names are limited to 9 characters. # When a clan name is over the nameLength (/clan create)
  38.  
  39.  
  40. every 5 seconds in "CowClicks":
  41. loop all players:
  42. set {clan.clicks::%{clan::%loop-player%}%} to {clicks::%loop-player%}
  43.  
  44.  
  45. command /restarts:
  46. permission: admin
  47. trigger:
  48. delete {clan::*}
  49. delete {clan.db::*}
  50.  
  51. every second:
  52. loop all players:
  53. if {clan::%loop-player%} is set:
  54. if {clan.disbanded::*} contains {clan::%loop-player%}:
  55. send "" to loop-player
  56. send " {@prefix} {@seperator} {@secColor}{@disbandedMsg}" to loop-player
  57. send "" to loop-player
  58. delete {clan.clicks::%{clan::%loop-player%}%}
  59. delete {clan.%{clan::%loop-player%}%.owner}
  60. remove {clan::%loop-player%} from {clan.db::*}
  61. delete {clan::%loop-player%}
  62.  
  63. command /clans [<text>] [<text>]:
  64. aliases: /clan
  65. trigger:
  66. if arg 1 is not set:
  67. send ""
  68. send " {@priColor}&lClans {@secColor}v{@version}"
  69. send " {@secColor}by MrScopes"
  70. send ""
  71. send " {@priColor}/clan help: {@secColor}list of all clans commands."
  72. send ""
  73. else if arg 1 is set:
  74. if arg 1 is not "help", "create", "leave", "info", "join", "top", "invite", "kick" or "disband":
  75. player command "/clan"
  76. else:
  77. if arg 1 is "help":
  78. send ""
  79. send " {@priColor}/clan chat: {@secColor}enable/disable clan chat."
  80. send " {@priColor}/clan create: {@secColor}create a clan."
  81. send " {@priColor}/clan leave: {@secColor}leave a clan."
  82. send " {@priColor}/clan invite: {@secColor}invite someone to your clan."
  83. send " {@priColor}/clan join: {@secColor}join a clan."
  84. send " {@priColor}/clan kick: {@secColor}kick someone from your clan."
  85. send " {@priColor}/clan info: {@secColor}info on a clan."
  86. send ""
  87. else if arg 1 is "create":
  88. if {clan.cooldown::%player%} is set:
  89. send ""
  90. send " {@prefix} {@seperator} {@secColor}{@cooldownMsg}"
  91. send ""
  92. stop
  93. if {clan::%player%} is set:
  94. send ""
  95. send " {@prefix} {@seperator} {@secColor}{@inClan}"
  96. send ""
  97. else:
  98. if arg 2 is not set:
  99. send ""
  100. send " {@prefix} {@seperator} {@secColor}/clan create (name)"
  101. send ""
  102. else:
  103. if {clan.db::*} contains arg 2:
  104. send ""
  105. send " {@prefix} {@seperator} {@secColor}{@clanExists}"
  106. send ""
  107. else:
  108. set {_l} to length of arg 2
  109. if {_l} is greater than {@nameLength}:
  110. send ""
  111. send " {@prefix} {@seperator} {@secColor}{@tooLong}"
  112. send ""
  113. stop
  114. if arg 2 contains "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "fu", "evo", "fa", "shit", "ass", "hor", "thi", "thic", "bitch", "nigg", ".gg", ".tk", ".com", ".net", "dot", "jew", "kk", "penis", "porn" or "cracker":
  115. send ""
  116. send " {@prefix} {@seperator} {@secColor}{@inapName}"
  117. send ""
  118. stop
  119. if arg 2 doesn't match "[a-zA-Z]+":
  120. send ""
  121. send " {@prefix} {@seperator} {@secColor}{@inapName}"
  122. send ""
  123. else:
  124. remove arg 2 from {clan.disbanded::*}
  125. broadcast ""
  126. broadcast " {@prefix} {@seperator} {@secColor}%player% {@clanCreated} {@secColor}'%arg 2%'"
  127. broadcast ""
  128. add arg 2 to {clan.db::*}
  129. set {clan::%player%} to arg 2
  130. add player to {clan.%arg 2%.members::*}
  131. set {clan.%arg 2%.owner} to player
  132. set {clan.%arg 2%.count} to 1
  133. set {clan.cooldown::%player%} to true
  134. set {clan.clicks::%arg 2%} to 0
  135. wait {@cooldown} seconds
  136. delete {clan.cooldown::%player%}
  137. else if arg 1 is "leave":
  138. if {clan.cooldown::%player%} is set:
  139. send ""
  140. send " {@prefix} {@seperator} {@secColor}{@cooldownMsg}"
  141. send ""
  142. stop
  143. if {clan::%player%} is not set:
  144. send ""
  145. send " {@prefix} {@seperator} {@secColor}{@notInClan}"
  146. send ""
  147. stop
  148. if {clan.%{clan::%player%}%.count} is 1:
  149. broadcast ""
  150. broadcast " {@prefix} {@seperator} {@secColor}%player% disbanded {@secColor}'%{clan::%player%}%'."
  151. broadcast ""
  152. delete {clan.clicks.%{clan::%player%}%::%player%}
  153. delete {clan.%{clan::%player%}%..members::*}
  154. delete {clan.%{clan::%player%}%.owner}
  155. remove {clan::%player%} from {clan.db::*}
  156. delete {clan.%{clan::%player%}%.count}
  157. delete {clan.clicks::%{clan::%player%}%}
  158. delete {clan::%player%}
  159. stop
  160. else:
  161. if {clan.%{clan::%player%}%.owner} is "%player%":
  162. set {_newOwner} to a random element out of {clan.%{clan::%player%}%.members::*}
  163. set {_newOwner} to {_newOwner} parsed as offline player
  164. set {clan.%{clan::%player%}%.owner} to {_newOwner}
  165. send "" to {_newOwner}
  166. send " {@prefix} {@seperator} {@secColor} {@newOwner}" to {_newOwner}
  167. send "" to {_newOwner}
  168. loop all players:
  169. if {clan::%loop-player%} is {clan::%player%}:
  170. send "" to loop-player
  171. send " {@prefix} {@seperator} {@secColor} {@leftClan}" to loop-player
  172. send "" to loop-player
  173. delete {clan.clicks.%{clan::%player%}%::%player%}
  174. remove player from {clan.%{clan::%player%}%.members::*}
  175. remove 1 from {clan.%{clan::%player%}%.count}
  176. delete {clan::%player%}
  177. else if arg 1 is "invite":
  178. if {clan.cooldown::%player%} is set:
  179. send ""
  180. send " {@prefix} {@seperator} {@secColor}{@cooldownMsg}"
  181. send ""
  182. stop
  183. if {clan.%{clan::%player%}%.count} is more than 5:
  184. send ""
  185. send " {@prefix} {@seperator} {@secColor}{@clanFull}"
  186. send ""
  187. stop
  188. if {clan.%{clan::%player%}%.owner} is not player:
  189. send ""
  190. send " {@prefix} {@seperator} {@secColor}{@notOwner}"
  191. send ""
  192. else:
  193. if arg 2 is not set:
  194. send ""
  195. send " {@prefix} {@seperator} {@secColor}&7/clan invite (player)"
  196. send ""
  197. if arg 2 is set:
  198. if {clan::%arg 2%} is {clan::%player%}:
  199. send ""
  200. send " {@prefix} {@seperator} {@secColor}{@inClan}"
  201. send ""
  202. else:
  203. send ""
  204. send " {@prefix} {@seperator} {@secColor}You invited %arg 2%."
  205. send ""
  206. set {clan.invited::%arg 2%} to {clan::%player%}
  207. set {_invited} to arg 2 parsed as offline player
  208. send "" to {_invited}
  209. send " {@prefix} {@seperator} {@secColor}You have been invited to '%{clan.invited::%{_invited}%}%'." to {_invited}
  210. send "" to {_invited}
  211. else if arg 1 is "join":
  212. if {clan.invited::%player%} is not set:
  213. send ""
  214. send " {@prefix} {@seperator} {@secColor}{@notInvited}"
  215. send ""
  216. else:
  217. if {clan.%{clan.invited::%player%}%.count} is greater than or equal to 5:
  218. send " {@prefix} {@seperator} {@secColor}{@clanFull}"
  219. delete {clan.invited::%player%}
  220. else:
  221. add player to {clan.%{clan.invited::%player%}%.members::*}
  222. add 1 to {clan.%{clan.invited::%player%}%.count}
  223. set {clan::%player%} to {clan.invited::%player%}
  224. set {clan.clicks.%{clan::%player%}%::%player%} to 0
  225. delete {clan.invited::%player%}
  226. loop all players:
  227. if {clan::%loop-player%} is {clan::%player%}:
  228. send "" to loop-player
  229. send " {@prefix} {@seperator} {@secColor}%player% joined the clan." to loop-player
  230. send "" to loop-player
  231. else if arg 1 is "kick":
  232. if {clan::%player%} is not set:
  233. send ""
  234. send " {@prefix} {@seperator} {@secColor}{@notInClan}"
  235. send ""
  236. stop
  237. if {clan.%{clan::%player%}%.owner} is not player:
  238. send ""
  239. send " {@prefix} {@seperator} {@secColor}{@notOwner}"
  240. send ""
  241. stop
  242. if arg 2 is not set:
  243. send ""
  244. send " {@prefix} {@seperator} {@secColor}/clan kick (player)"
  245. send ""
  246. if arg 2 is set:
  247. if arg 2 is player:
  248. send ""
  249. send " {@prefix} {@seperator} {@secColor}{@noKick}"
  250. send ""
  251. else:
  252. if {clan::%arg 2%} is not {clan::%player%}:
  253. send ""
  254. send " {@prefix} {@seperator} {@secColor}{@playerNotInClan}"
  255. send ""
  256. else:
  257. loop all players:
  258. if {clan::%loop-player%} is {clan::%arg 2%}:
  259. send "" to loop-player
  260. send " {@prefix} {@seperator} {@secColor} {@kickedFromClan}" to loop-player
  261. send "" to loop-player
  262. remove arg 2 from {clan.%{clan::%player%}%.members::*}
  263. remove 1 from {clan.%{clan::%player%}%.count}
  264. delete {clan::%arg 2%}
  265. stop
  266. else if arg 1 is "info":
  267. if arg 2 is not set:
  268. send ""
  269. send " {@prefix} {@seperator} {@secColor}/clan info (clan)"
  270. send ""
  271. if arg 2 is set:
  272. if {clan.db::*} does not contain arg 2:
  273. send ""
  274. send " {@prefix} {@seperator} {@secColor}{@notClan}"
  275. send ""
  276. else:
  277. send ""
  278. send " {@prefix} {@seperator} {@secColor}%arg 2 % {@seperator} {@priColor}Leader: {@secColor}%{clan.%arg 2%.owner}%"
  279. send ""
  280. send " {@priColor}Members: {@secColor}(%{clan.%arg 2%.count}%/5)"
  281. send ""
  282. send " {@priColor}Clicks {@secColor}%{clan.clicks::%arg 2%}%"
  283. if {clan::%player%} is arg 2:
  284. send " {@priColor}Your clicks: {@secColor}%{clan.clicks.%arg 2%::%player%}%"
  285. send ""
  286. else if arg 1 is "top":
  287. loop {clan.clicks::*}:
  288. add 1 to {_size}
  289. if {_low.to.high.list::%loop-value%} is not set:
  290. set {_low.to.high.list::%loop-value%} to loop-index
  291. else:
  292. set {_n} to 0
  293. loop {_size} times:
  294. set {_n} to {_n}+1
  295. {_low.to.high.list::%loop-value-1%.%{_n}%} is not set
  296. set {_low.to.high.list::%loop-value-1%.%{_n}%} to loop-index
  297. stop loop
  298. wait 1 tick
  299. set {_n} to size of {_low.to.high.list::*}
  300. loop {_low.to.high.list::*}:
  301. set {_high.to.low.list::%{_n}%} to loop-value
  302. set {_n} to {_n}-1
  303. wait 1 tick
  304. send ""
  305. send " {@priColor}&lTop 5 Clans "
  306. send ""
  307. loop {_high.to.low.list::*}:
  308. add 1 to {_result}
  309. send " {@priColor}(##%{_result}%) {@seperator} {@secColor}%loop-value% {@seperator} {@priColor}Clicks &8({@secColor}%{clan.clicks::%loop-value%}%&8)" to player
  310. if {_result} is 5:
  311. send ""
  312. stop
  313. else if arg 1 is "disband":
  314. player has permission "{@admin}"
  315. if arg 2 is not set:
  316. send ""
  317. send " {@prefix} {@seperator} {@secColor}/clan disband (clan)"
  318. send ""
  319. else:
  320. if {clan.db::*} contains arg 2:
  321. broadcast ""
  322. broadcast " {@prefix} {@seperator} {@secColor}&b%player% disbanded {@secColor}'%arg 2%'"
  323. broadcast ""
  324. delete {clan.%arg 2%.members::*}
  325. delete {clan.%{clan::%arg 2%}%.owner}
  326. delete {clan.clicks::%arg 2%}
  327. delete {clan.%arg 2%.count}
  328. remove arg 2 from {clan.db::*}
  329. add arg 2 to {clan.disbanded::*}
  330. else:
  331. send ""
  332. send " {@prefix} {@seperator} {@secColor}{@notClan}"
  333. send ""
Advertisement
Add Comment
Please, Sign In to add comment