Guest User

Untitled

a guest
Jul 29th, 2019
305
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 21.55 KB | None | 0 0
  1. options:
  2. prefix: &f&lAeon &2&lGuilds&7
  3. nochestclaimed: &cYou do not have permission to open chests in claimed land!
  4. blockbreakclaimed: &cYou do not have permission to break blocks in claimed land!
  5. blockplaceclaimed: &cYou do not have permission to place blocks in claimed land!
  6. areaclaimed: &cThis area is claimed by another guild!
  7. noguild: &cYou are not in a guild!
  8. noleader: &cYou are not the leader of your guild!
  9.  
  10.  
  11.  
  12. command /guilds <text> [<text>]:
  13. aliases: /g, /guild
  14. trigger:
  15.  
  16. set {_t1} to arg 1
  17.  
  18. if arg 2 is set:
  19.  
  20. set {_temp} to arg 2
  21.  
  22. loop all players:
  23. if {_temp} is loop-player:
  24. set {_p} to {_temp} parsed as a player
  25. stop loop
  26.  
  27. if {_p} is set:
  28.  
  29. if player is {_p}:
  30. send "{@prefix}: You can't do that to yourself!" to player
  31.  
  32. else if {_t1} is "invite":
  33. if {guilds.inguild.%player%} is true:
  34. set {_guild} to {guilds.active.%player%}
  35.  
  36. if {guilds.%{_guild}%.leader} is player:
  37. if {guilds.inguild.%{_p}%} is not true:
  38. set {guilds.invited.%{_guild}%.%{_p}%} to true
  39. send "{@prefix}: &aYou have been invited by %player%!" to {_p}
  40. send "{@prefix}: &aType &b/guilds accept %{_guild}% &ato join!" to {_p}
  41. send "{@prefix}: &aYou invited %{_p}%!" to player
  42. else:
  43. send "{@prefix}: That player is already in a guild!" to player
  44. else:
  45. send "{@prefix}: You are not able to invite people to your clan." to player
  46.  
  47. else if {_t1} is "kick":
  48. if {guilds.inguild.%player%} is true:
  49. set {_guild} to {guilds.active.%player%}
  50.  
  51. if {guilds.%{_guild}%.leader} is player:
  52. if {guilds.inguild.%{_p}%} is true:
  53. if {guilds.active.%{_p}%} is {_guild}:
  54. set {guilds.inguild.%{_p}%} to false
  55. clear {guilds.active.%{_p}%}
  56. remove {_p} from {guilds.%{_guild}%.members::*}
  57.  
  58. loop {guilds.%{_guild}%.members::*}:
  59. send "{@prefix}: &b%{_p}% &cwas kicked from the guild!" to loop-value
  60.  
  61. else:
  62.  
  63. set {_t2} to {_temp}
  64.  
  65. if {_t1} is "create":
  66.  
  67. if {guilds.inguild.%player%} is false:
  68.  
  69. if size of {guilds.all.list::*} is 0:
  70. set {_tempname} to true
  71.  
  72. else:
  73.  
  74. loop {guilds.all.list::*}:
  75. if {_t2} is loop-value:
  76. send "{@prefix}: &cThis guild name is unavailable!" to player
  77. set {_tempname} to false
  78. stop loop
  79. else:
  80. set {_tempname} to true
  81.  
  82. if {_tempname} is true:
  83. set {guilds.%{_t2}%} to true
  84. set {guilds.%{_t2}%.leader} to player
  85. set {guilds.inguild.%player%} to true
  86. set {guilds.active.%player%} to {_t2}
  87. set {guilds.role.%player%} to "leader"
  88. add player to {guilds.%{_t2}%.members::*}
  89. add {_t2} to {guilds.all.list::*}
  90. send "{@prefix}: &fYou created the Guild named &2%{_t2}%&f!" to player
  91. set {guilds.%{_t2}%.members.rp.blockbreak} to false
  92. set {guilds.%{_t2}%.members.rp.blockplace} to false
  93. set {guilds.%{_t2}%.members.rp.openchest} to false
  94. set {guilds.%{_t2}%.officers.rp.blockbreak} to false
  95. set {guilds.%{_t2}%.officers.rp.blockplace} to false
  96. set {guilds.%{_t2}%.officers.rp.openchest} to false
  97.  
  98. make console execute command "/setprefix %player%"
  99.  
  100. else:
  101. send "{@prefix}: &cYou are already in a guild!" to player
  102.  
  103. else if {_t1} is "accept":
  104. if {guilds.inguild.%player%} is false:
  105. if {guilds.invited.%{_t2}%.%player%} is true:
  106. set {guilds.inguild.%player%} to true
  107. set {guilds.active.%player%} to {_t2}
  108. set {guilds.role.%player%} to "Member"
  109. add player to {guilds.%{_t2}%.members::*}
  110. delete {guilds.invited.%{_t2}%.%player%}
  111. send "{@prefix}: &aYou joined the guild &b%{_t2}%&a!" to player
  112.  
  113. loop {guilds.%{_t2}%.members::*}:
  114. send "{@prefix}: &a%player% &bjoined the guild!" to loop-value
  115.  
  116. loop {guilds.all.list::*}:
  117. if {guilds.invited.%loop-value%.%player%} is set:
  118. delete {guilds.invited.%loop-value%.%player%}
  119.  
  120. else if {_t1} is "decline":
  121. if {guilds.inguild.%player%} is false:
  122. if {guilds.invited.%{_t2}%.%player%} is true:
  123. delete {guilds.invited.%{_t2}%.%player%}
  124. send "{@prefix}: You declined the invite to &a%{_t2}%&7." to player
  125.  
  126. loop {guilds.%{_t2}%.members::*}:
  127. send "{@prefix}: &a%player% &cdeclined to join the guild." to loop-value
  128.  
  129. else if {_t1} is "info":
  130.  
  131. loop {guilds.all.list::*}:
  132. if {_t2} is loop-value:
  133. set {_tempname} to true
  134. stop loop
  135. else:
  136. set {_tempname} to false
  137.  
  138. if {_tempname} is true:
  139. set {_guild} to {_t2}
  140.  
  141. open virtual chest inventory with size 6 named "&8%{_guild}%" to player
  142.  
  143. set {_item} to anvil named "&a%{_guild}%"
  144. format gui slot 4 of player with {_item}
  145.  
  146. set {_item} to skull of {guilds.%{_guild}%.leader} named "&6Leader"
  147. set line 1 of lore of {_item} to "&f%{guilds.%{_guild}%.leader}%"
  148. format gui slot 13 of player with {_item}
  149.  
  150. set {_o} to 19
  151. set {_m} to 27
  152. loop {guilds.%{_guild}%.members::*}:
  153. set {_p} to loop-value
  154. if {_p} is not {guilds.%{_guild}%.leader}:
  155. if {guilds.role.%{_p}%} is "Officer":
  156. set {_item} to skull of {_p} named "&eOfficer"
  157. set line 1 of lore of {_item} to "&f%{_p}%"
  158. format gui slot {_i} of player with {_item}
  159. add 1 to {_o}
  160. else if {guilds.role.%{_p}%} is "Member":
  161. set {_item} to skull of {_p} named "&aMember"
  162. set line 1 of lore of {_item} to "&f%{_p}%"
  163. format gui slot {_i} of player with {_item}
  164. add 1 to {_m}
  165. else:
  166. continue
  167.  
  168. if player is {guilds.%{_guild}%.leader}:
  169. set {_item} to book named "&eAdmin Mode"
  170. set line 1 of lore of {_item} to "&fChange permissions of roles in your guild!"
  171. format gui slot 49 of player with {_item} to run console command "consoleguilds leaderinfo %player%" with "left" click
  172.  
  173. else if {_tempname} is false:
  174. send "{@prefix}: That guild doesn't exist!" to player
  175.  
  176. else:
  177. if {_t1} is "disband":
  178. if {guilds.inguild.%player%} is true:
  179. set {_guild} to {guilds.active.%player%}
  180. if {guilds.%{_guild}%.leader} is player:
  181. guildDisband("%{_guild}%")
  182. else:
  183. send "{@prefix}: {@noleader}" to player
  184. else:
  185. send "{@prefix}: {@noguild}" to player
  186. else if {_t1} is "claim":
  187. if {guilds.inguild.%player%} is true:
  188. set {_guild} to {guilds.active.%player%}
  189. set {_loc} to the chunk at the player
  190. if {guilds.%{_guild}%.leader} is player:
  191. if size of {guilds.%{_guild}%.members::*} is more than size of {guilds.%{_guild}%.chunks::*}:
  192. FindChunks(player, {_loc})
  193. if {currentchunk.%player%} is "":
  194. add {_loc} to {guilds.%{_guild}%.chunks::*}
  195. send "{@prefix}: &aYou claimed this land!" to player
  196. else:
  197. send "{@prefix}: You cannot claim this chunk!" to player
  198. else:
  199. send "{@prefix}: You need more members to claim chunks!" to player
  200. else:
  201. send "{@prefix}: {@noleader}" to player
  202. else:
  203. send "{@prefix}: {@noguild}" to player
  204. else if {_t1} is "unclaim":
  205. if {guilds.inguild.%player%} is true:
  206. set {_guild} to {guilds.active.%player%}
  207. set {_loc} to the chunk at the player
  208. if {guilds.%{_guild}%.leader} is player:
  209. FindChunks(player, {_loc})
  210. if {currentchunk.%player%} is "%{_guild}%":
  211. remove {_loc} from {guilds.%{_guild}%.chunks::*}
  212. set {guilds.%{_guild}%.chunks::*} to sorted {guilds.%{_guild}%.chunks::*}
  213. send "{@prefix}: Unclaiming chunk!" to player
  214. if {guilds.%{_guild}%.homechunk} is {_loc}:
  215. clear {guilds.%{_guild}%.home}
  216. clear {guilds.%{_guild}%.homechunk}
  217. loop {guilds.%{_guild}%.members::*}:
  218. send "{@prefix}: The chunk containing the &aguild home was unclaimed." to player
  219. else:
  220. send "{@prefix}: You cannot unclaim this chunk!" to player
  221. else:
  222. send "{@prefix}: {@noleader}" to player
  223. else:
  224. send "{@prefix}: {@noguild}" to player
  225. else if {_t1} is "list":
  226.  
  227. set {guildslist.%player%} to 1
  228. set {_guildslist1} to {guildslist.%player%}+1
  229. set {_guildslist2} to {guildslist.%player%}+2
  230. set {_guildslist3} to {guildslist.%player%}+3
  231. set {_guildslist4} to {guildslist.%player%}+4
  232.  
  233. json("%player%","&71. &b%{guilds.all.list::%{guildslist.%player%}%}%||cmd:/guilds info %{guilds.all.list::%{guildslist.%player%}%}%||ttp:&7Click for more info!")
  234. json("%player%","&72. &b%{guilds.all.list::%{_guildslist1}%}%||cmd:/guilds info %{guilds.all.list::%{_guildslist1}%}%||ttp:&7Click for more info!")
  235. json("%player%","&73. &b%{guilds.all.list::%{_guildslist2}%}%||cmd:/guilds info %{guilds.all.list::%{_guildslist2}%}%||ttp:&7Click for more info!")
  236. json("%player%","&74. &b%{guilds.all.list::%{_guildslist3}%}%||cmd:/guilds info %{guilds.all.list::%{_guildslist3}%}%||ttp:&7Click for more info!")
  237. json("%player%","&75. &b%{guilds.all.list::%{_guildslist4}%}%||cmd:/guilds info %{guilds.all.list::%{_guildslist4}%}%||ttp:&7Click for more info!")
  238.  
  239. json("%player%","&aNext page||cmd:/guilds continuelist||ttp:&7Next page!")
  240.  
  241. else if {_t1} is "continuelist":
  242.  
  243. add 5 to {guildslist.%player%}
  244. set {_guildslist1} to {guildslist.%player%}+1
  245. set {_guildslist2} to {guildslist.%player%}+2
  246. set {_guildslist3} to {guildslist.%player%}+3
  247. set {_guildslist4} to {guildslist.%player%}+4
  248.  
  249. json("%player%","&7%{guildslist.%player%}%. &b%{guilds.all.list::%{guildslist.%player%}%}%||cmd:/guilds info %{guilds.all.list::%{guildslist.%player%}%}%||ttp:&7Click for more info!")
  250. json("%player%","&7%{_guildslist1}%. &b%{guilds.all.list::%{_guildslist1}%}%||cmd:/guilds info %{guilds.all.list::%{_guildslist1}%}%||ttp:&7Click for more info!")
  251. json("%player%","&7%{_guildslist2}%. &b%{guilds.all.list::%{_guildslist2}%}%||cmd:/guilds info %{guilds.all.list::%{_guildslist2}%}%||ttp:&7Click for more info!")
  252. json("%player%","&7%{_guildslist3}%. &b%{guilds.all.list::%{_guildslist3}%}%||cmd:/guilds info %{guilds.all.list::%{_guildslist3}%}%||ttp:&7Click for more info!")
  253. json("%player%","&7%{_guildslist4}%. &b%{guilds.all.list::%{_guildslist4}%}%||cmd:/guilds info %{guilds.all.list::%{_guildslist4}%}%||ttp:&7Click for more info!")
  254.  
  255. json("%player%","&aNext page||cmd:/guilds continuelist||ttp:&7Next page!")
  256.  
  257. else if {_t1} is "sethome":
  258. if {guilds.inguild.%player%} is true:
  259. set {_guild} to {guilds.active.%player%}
  260. if {guilds.%{_guild}%.leader} is player:
  261. set {_loc} to the chunk at the player
  262. set {_ghome} to location of player
  263. FindChunks(player , {_loc})
  264. if {currentchunk.%player%} is "%{guilds.active.%player%}%":
  265. set {guilds.%{_guild}%.home} to {_ghome}
  266. set {guilds.%{_guild}%.homechunk} to {_loc}
  267. send "{@prefix}: You set your guild's home!" to player
  268. else:
  269. send "{@prefix}: You cannot set your home here!" to player
  270. else:
  271. send "{@prefix}: &cYou are not the leader of this guild!" to player
  272. else:
  273. send "{@prefix}: {@noguild}" to player
  274. else if {_t1} is "home":
  275. if {guilds.inguild.%player%} is true:
  276. set {_guild} to {guilds.active.%player%}
  277. if {guilds.%{_guild}%.home} is set:
  278. teleport player to {guilds.%{_guild}%.home}
  279. else:
  280. send "{@prefix}: Your guild home hasn't been set!" to player
  281. else:
  282. send "{@prefix}: {@noguild}" to player
  283. else if {_t1} is "info":
  284. if {guilds.inguild.%player%} is true:
  285. set {_guild} to {guilds.active.%player%}
  286. make player execute command "/guilds info %{_guild}%"
  287. else:
  288. send "{@prefix}: {@noguild}" to player
  289.  
  290. command /consoleguilds <text> [<text>]:
  291. executable by: console
  292. trigger:
  293. set {_t1} to arg 1
  294.  
  295. if arg 2 is set:
  296.  
  297. set {_temp} to arg 2
  298.  
  299. loop all players:
  300. if {_temp} is loop-player:
  301. set {_p} to {_temp} parsed as a player
  302. stop loop
  303.  
  304. if {_p} is set:
  305.  
  306. if {_t1} is "leaderinfo":
  307.  
  308. set {_guild} to {guilds.active.%{_p}%}
  309.  
  310. unformat all gui slots of {_p}
  311.  
  312. set {_item} to anvil named "&a%{_guild}%"
  313. format gui slot 4 of {_p} with {_item}
  314.  
  315. set {_item} to gold ingot named "&6Officer"
  316. set line 1 of lore of {_item} to "&fChange the permissions for officers!"
  317. format gui slot 21 of {_p} with {_item} to run function infoPerms({_p} , "officers") with "left" click
  318.  
  319. set {_item} to iron ingot named "&eMember"
  320. set line 1 of lore of {_item} to "&fChange the permissions for members!"
  321. format gui slot 23 of {_p} with {_item} to run function infoPerms({_p} , "members") with "left" click
  322.  
  323. set {_item} to book named "&bBack"
  324. set line 1 of lore of {_item} to "&7Return to the previous menu."
  325. format gui slot 49 of {_p} with {_item} to run {_p} command "guilds info" with "left" click
  326.  
  327. else:
  328.  
  329. if {_t1} is "forcedisband":
  330.  
  331. guildDisband("%{_temp}%")
  332.  
  333. function infoPerms(p: player , role: text):
  334.  
  335. set {_guild} to {guilds.active.%{_p}%}
  336.  
  337. unformat all gui slots of {_p}
  338.  
  339. set {_item} to anvil named "&a%{_guild}%"
  340. format gui slot 4 of {_p} with {_item}
  341.  
  342. if {guilds.%{_guild}%.%{_role}%.rp.blockbreak} is false:
  343. set {_item} to red stained glass pane named "&aEnable Block Break"
  344. else:
  345. set {_item} to green stained glass pane named "&cDisable Block Break"
  346.  
  347. set line 1 of lore of {_item} to "&7Click to change this permission."
  348. format gui slot 18 of {_p} with {_item} to run function changePerm({_p} , "blockbreak" , "%{_role}%") with "left" click
  349.  
  350. set {_item} to stone bricks named "&aBlock Break"
  351. set line 1 of lore of {_item} to "&fShould %{_role}% be able to break blocks"
  352. set line 2 of lore of {_item} to "&fin Guild claimed land?"
  353. format gui slot 27 of {_p} with {_item}
  354.  
  355. if {guilds.%{_guild}%.%{_role}%.rp.blockplace} is false:
  356. set {_item} to red stained glass pane named "&aEnable Block Place"
  357. else:
  358. set {_item} to green stained glass pane named "&cDisable Block Place"
  359.  
  360. set line 1 of lore of {_item} to "&7Click to change this permission."
  361. format gui slot 19 of {_p} with {_item} to run function changePerm({_p} , "blockplace" , "%{_role}%") with "left" click
  362.  
  363. set {_item} to grass block named "&aBlock Place"
  364. set line 1 of lore of {_item} to "&fShould %{_role}% be able to place blocks"
  365. set line 2 of lore of {_item} to "&fin Guild claimed land?"
  366. format gui slot 28 of {_p} with {_item}
  367.  
  368. if {guilds.%{_guild}%.%{_role}%.rp.openchest} is false:
  369. set {_item} to red stained glass pane named "&aEnable Open Chest"
  370. else:
  371. set {_item} to green stained glass pane named "&cDisable Open Chest"
  372.  
  373. set line 1 of lore of {_item} to "&7Click to change this permission."
  374. format gui slot 20 of {_p} with {_item} to run function changePerm({_p} , "openchest" , "%{_role}%") with "left" click
  375.  
  376. set {_item} to chest named "&aOpen Chest"
  377. set line 1 of lore of {_item} to "&fShould %{_role}% be able to open chests"
  378. set line 2 of lore of {_item} to "&fin Guild claimed land?"
  379. format gui slot 29 of {_p} with {_item}
  380.  
  381. set {_item} to book named "&bBack"
  382. set line 1 of lore of {_item} to "&7Return to the previous menu."
  383. format gui slot 49 of {_p} with {_item} to run console command "consoleguilds leaderinfo %{_p}%" with "left" click
  384.  
  385. function changePerm(p: player , perms: text , role: text):
  386.  
  387. set {_guild} to "%{guilds.active.%{_p}%}%"
  388. if {guilds.%{_guild}%.%{_role}%.rp.%{_perms}%} is false:
  389. set {guilds.%{_guild}%.%{_role}%.rp.%{_perms}%} to true
  390. else:
  391. set {guilds.%{_guild}%.%{_role}%.rp.%{_perms}%} to false
  392.  
  393. infoPerms({_p} , "%{_role}%")
  394.  
  395. function guildDisband(guild: text):
  396.  
  397. loop {guilds.%{_guild}%.members::*}:
  398. send "{@prefix}: &a%{_guild}% &fis being disbanded!" to loop-value
  399. set {guilds.inguild.%loop-value%} to false
  400. clear {guilds.active.%loop-value%}
  401. remove loop-value from {guilds.%{_guild}%.members::*}
  402. clear {guilds.role.%loop-value%}
  403.  
  404. loop {guilds.%{_guild}%.chunks::*}:
  405. remove loop-value from {guilds.%{_guild}%.chunks::*}
  406.  
  407. remove {_guild} from {guilds.all.list::*}
  408. set {guilds.all.list::*} to sorted {guilds.all.list::*}
  409.  
  410. delete {guilds.%{_guild}%}
  411. delete {guilds.%{_guild}%.leader}
  412. delete {guilds.%{_guild}%.members::*}
  413. delete {guilds.%{_guild}%.members.rp.blockbreak}
  414. delete {guilds.%{_guild}%.members.rp.blockplace}
  415. delete {guilds.%{_guild}%.members.rp.openchest}
  416. delete {guilds.%{_guild}%.officers.rp.blockbreak}
  417. delete {guilds.%{_guild}%.officers.rp.blockplace}
  418. delete {guilds.%{_guild}%.officers.rp.openchest}
  419.  
  420.  
  421.  
  422. on block break:
  423. set {targetedloc.%player%} to chunk at the event-block
  424. findTargetChunks(player , {targetedloc.%player%})
  425.  
  426. send "%{currenttargetchunk.%player%}%" to player
  427. if {currenttargetchunk.%player%} is {guilds.active.%player%}:
  428. set {_b} to checkRolePerms(player , "blockbreak")
  429. if {_b} is false:
  430. cancel event
  431.  
  432. else if {currenttargetchunk.%player%} is not "":
  433. send "{@prefix}: {@areaclaimed}" to player
  434. cancel event
  435.  
  436. on block place:
  437. set {targetedloc.%player%} to chunk at the event-block
  438. findTargetChunks(player , {targetedloc.%player%})
  439.  
  440. send "%{currenttargetchunk.%player%}%" to player
  441. if {currenttargetchunk.%player%} is {guilds.active.%player%}:
  442. set {_b} to checkRolePerms(player , "blockplace")
  443. if {_b} is false:
  444. cancel event
  445.  
  446. else if {currenttargetchunk.%player%} is not "":
  447. send "{@prefix}: {@areaclaimed}" to player
  448. cancel event
  449.  
  450. on inventory open:
  451. if targeted block is chest or trapped chest:
  452. set {_loc} to targeted block
  453. set {targetedloc.%player%} to chunk at location {_loc}
  454. findTargetChunks(player , {targetedloc.%player%})
  455.  
  456. send "%{currenttargetchunk.%player%}%" to player
  457. if {currenttargetchunk.%player%} is {guilds.active.%player%}:
  458. set {_b} to checkRolePerms(player , "openchest")
  459. if {_b} is false:
  460. cancel event
  461.  
  462. else if {currenttargetchunk.%player%} is not "":
  463. send "{@prefix}: {@areaclaimed}" to player
  464. cancel event
  465.  
  466. function findTargetChunks(p: player , loc: chunk):
  467.  
  468. loop {guilds.all.list::*}:
  469. set {_guild} to loop-value-1
  470. loop {guilds.%{_guild}%.chunks::*}:
  471. if {_loc} is loop-value-2:
  472. if {currenttargetchunk.%{_p}%} is not {_guild}:
  473. set {currenttargetchunk.%{_p}%} to {_guild}
  474. stop 2 loops
  475. else:
  476. set {currenttargetchunk.%{_p}%} to ""
  477.  
  478. every 5 ticks:
  479. if {players.online} is more than 0:
  480. loop all players:
  481. setCurrentChunk(loop-player)
  482.  
  483. function setCurrentChunk(p: player):
  484.  
  485. set {_loc} to chunk at location of {_p}
  486. set {_lastchunk} to {currentchunk.%{_p}%}
  487. FindChunks({_p} , {_loc})
  488.  
  489. if {currentchunk.%{_p}%} is not {_lastchunk}:
  490. if {currentchunk.%{_p}%} is {guilds.active.%{_p}%}:
  491. send title "&2%{currentchunk.%{_p}%}%" to {_p} for 1.5 seconds
  492. else if {currentchunk.%{_p}%} is not "":
  493. send title "&a%{currentchunk.%{_p}%}%" to {_p} for 1.5 seconds
  494. else:
  495. send title "&fWilderness" to {_p} for 1.5 seconds
  496.  
  497. function FindChunks(p: player , loc: chunk):
  498.  
  499. if size of {guilds.all.list::*} is more than 0:
  500. loop {guilds.all.list::*}:
  501. set {_guild} to loop-value-1
  502. loop {guilds.%{_guild}%.chunks::*}:
  503. if {_loc} is loop-value-2:
  504. if {currentchunk.%{_p}%} is not {_guild}:
  505. set {currentchunk.%{_p}%} to {_guild}
  506. stop 2 loops
  507. else:
  508. set {currentchunk.%{_p}%} to ""
  509. else:
  510. set {currentchunk.%{_p}%} to ""
  511.  
  512. function checkRolePerms(p: player , perm: text) :: boolean:
  513.  
  514. set {_guild} to {guilds.active.%{_p}%}
  515.  
  516. if {guilds.role.%{_p}%} is "Member":
  517. if {guilds.%{_guild}%.members.rp.%{_perm}%} is false:
  518. if {_perm} is "openchest":
  519. send "{@prefix}: {@nochestclaimed}" to {_p}
  520. set {_b} to false
  521. if {_perm} is "blockbreak":
  522. send "{@prefix}: {@blockbreakclaimed}" to {_p}
  523. set {_b} to false
  524. if {_perm} is "blockplace":
  525. send "{@prefix}: {@blockplaceclaimed}" to {_p}
  526. set {_b} to false
  527. else:
  528. set {_b} to true
  529.  
  530. if {guilds.role.%{_p}%} is "Officer":
  531. if {guilds.%{_guild}%.officers.rp.%{_perm}%} is false:
  532. if {_perm} is "openchest":
  533. send "{@prefix}: {@nochestclaimed}" to {_p}
  534. set {_b} to false
  535. if {_perm} is "blockbreak":
  536. send "{@prefix}: {@blockbreakclaimed}" to {_p}
  537. set {_b} to false
  538. if {_perm} is "blockplace":
  539. send "{@prefix}: {@blockplaceclaimed}" to {_p}
  540. set {_b} to false
  541. else:
  542. set {_b} to true
  543.  
  544. if {guilds.role.%{_p}%} is "leader":
  545. set {_b} to true
  546.  
  547. return {_b}
  548.  
  549. on join:
  550. wait 5 ticks
  551. make console execute command "/setplayersonline"
  552. if {guilds.inguild.%player%} is not set:
  553. make console execute command "/guildreset %player%"
  554.  
  555. on disconnect:
  556. wait 5 ticks
  557. make console execute command "/setplayersonline"
  558.  
  559. command /setplayersonline:
  560. executable by: console
  561. trigger:
  562. set {players.online} to the online player count
  563. send "Players Online: %{players.online}%" to console
  564.  
  565. command /guildreset <player>:
  566. permission: op
  567. trigger:
  568. set {guilds.inguild.%argument%} to false
  569. set {_guild} to {guilds.active.%argument%}
  570. clear {guilds.active.%argument%}
  571. set {guildslist.%argument%} to 0
  572. set {currentchunk.%argument%} to ""
  573. set {currenttargetchunk.%argument%} to ""
  574.  
  575. remove argument from {guilds.%{_guild}%.members::*}
Advertisement
Add Comment
Please, Sign In to add comment