Advertisement
Guest User

Untitled

a guest
Dec 8th, 2018
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 17.68 KB | None | 0 0
  1. script options:
  2.  
  3. $ use permissions
  4.  
  5. #To use SQL for SkPerms, remove the # from below, and edit settings to yours
  6.  
  7.  
  8.  
  9. #$ init com.mysql.jdbc.Driver
  10.  
  11. #$ db url jdbc:mysql://localhost:3306/skript
  12.  
  13. #$ db username admin
  14.  
  15. #$ db password skperm_pass
  16.  
  17. options:
  18.  
  19. prefix: &6[&5SkPerms&6]
  20.  
  21. maincolour: &6
  22.  
  23. secondcolour: &7
  24.  
  25. command: /skperms
  26.  
  27. aliases: /skp, /skpermissions, /skperm
  28.  
  29. permission: skperms.admin
  30.  
  31.  
  32.  
  33. #CMD protection is basically extra security for your server. Only players inside of a list variable can use SkPerms
  34.  
  35. CMDprotection: false
  36.  
  37. CMDprotectionMsg: Unknown command. Type ""/help"" for help
  38.  
  39. #The player list is the list variable that contains players that can use SkPerms if CMDprotection is enabled
  40.  
  41. PlayerList: {example::players::*}
  42.  
  43.  
  44.  
  45. UseChat: true #use prefix and suffix in the chat
  46.  
  47. #Chat types:
  48.  
  49. #Display - Changes the player's display name (Vault will hook if installed)
  50.  
  51. #Override - !COMING SOON
  52.  
  53. ChatType: "Display"
  54.  
  55.  
  56.  
  57. version: 1.0.5
  58.  
  59.  
  60.  
  61. on script load:
  62.  
  63. if file "plugins\SkPerms" exists:
  64.  
  65. delete {skperms::config::*}
  66.  
  67. else:
  68.  
  69. set yaml value "version" from file "plugins\SkPerms\config.yml" to "{@version}"
  70.  
  71. set yaml value "useYML" from file "plugins\SkPerms\config.yml" to false
  72.  
  73. set {skperms::config::version} to yaml value "version" from file "plugins\SkPerms\config.yml"
  74.  
  75. set {skperms::config::useYML} to yaml value "useYML" from file "plugins\SkPerms\config.yml"
  76.  
  77. if {skperms::config::useYML} is true:
  78.  
  79. if {skperms::players::*} is not set:
  80.  
  81. stop
  82.  
  83. delete file "plugins\SkPerms\players.yml"
  84.  
  85. loop {skperms::players::*}:
  86.  
  87. loop {skperms::player::%loop-value%::permissions::*}:
  88.  
  89. add "%loop-value-2%" to yaml list "players.%loop-value-1%.permissions" from file "plugins\SkPerms\players.yml"
  90.  
  91. on script unload:
  92.  
  93. loop {skperms::groups::*}:
  94.  
  95. if {skperms::group::%loop-value%::*} is not set:
  96.  
  97. loop {skperms::group::%loop-value-1%::permissions::*}:
  98.  
  99. loop {skperms::players::*}:
  100.  
  101. remove "%loop-value-2%" from {skperms::player::%loop-value-3%::permissions::*}
  102.  
  103. loop {skperms::players::*}:
  104.  
  105. remove "%loop-value-1%" from {skperms::player::%loop-value-2%::groups::*}
  106.  
  107. if {skperms::player::%loop-value-2%::groups::*} is not empty:
  108.  
  109. loop {skperms::player::%loop-value-2%::groups::*}:
  110.  
  111. loop {skperms::group::%loop-value-1%::permissions::*}:
  112.  
  113. set {_p} to "%loop-value-2%" parsed as player
  114.  
  115. add "%loop-value-4%" to {_p}'s permissions
  116.  
  117. remove "%loop-value%" from {skperms::groups::*}
  118.  
  119. command {@command} [<text>] [<text>] [<text>] [<text>] [<text>]:
  120.  
  121. permission: {@permission}
  122.  
  123. aliases: {@aliases}
  124.  
  125. trigger:
  126.  
  127. if {@CMDprotection} is true:
  128.  
  129. if command sender is not console:
  130.  
  131. if {@PlayerList} doesn't contain player or "%player%":
  132.  
  133. message "{@CMDprotectionMsg}"
  134.  
  135. stop
  136.  
  137. if arg 1 is not set:
  138.  
  139. message ""
  140.  
  141. message "{@prefix} v{@version}:"
  142.  
  143. message "{@maincolour}{@command} deleteDefault"
  144.  
  145. message "{@secondcolour}Deletes default group setting (If set)"
  146.  
  147. message "{@maincolour}{@command} (d|default) (group)"
  148.  
  149. if {skperms::default} is set:
  150.  
  151. message "{@secondcolour}Set the default group {@maincolour}(&7%{skperms::default}%{@maincolour})"
  152.  
  153. else:
  154.  
  155. message "{@secondcolour}Set the default group"
  156.  
  157. message "{@maincolour}{@command} (p|player) (player) (add|remove|list) permission [permission]"
  158.  
  159. message "{@secondcolour}Add/remove/list a players permissions"
  160.  
  161. message "{@maincolour}{@command} (p|player) (player) (add|set|remove|list) group [group]"
  162.  
  163. message "{@secondcolour}Add/remove/set/list a players group"
  164.  
  165. message "{@maincolour}{@command} (g|group) (group) (add|remove|list) permission [permission]"
  166.  
  167. message "{@secondcolour}Add/remove/list a group permission"
  168.  
  169. message "{@maincolour}{@command} (g|group) (group) (add|remove|list) group [group]"
  170.  
  171. message "{@secondcolour}Add/remove/list a groups connected groups"
  172.  
  173. message "{@secondcolour}A group is created once it contains a permission"
  174.  
  175. message "{@maincolour}{@command} (g|group) (group) (prefix|suffix) set (text)"
  176.  
  177. message "{@secondcolour}Set a suffix or prefix to a group"
  178.  
  179. message ""
  180.  
  181. else if arg 1 is "deleteDefault":
  182.  
  183. delete {skperms::default}
  184.  
  185. message "{@prefix} {@maincolour}Removed default group (No group set)"
  186.  
  187. else if arg 1 is "d", "setdefault" or "default":
  188.  
  189. if arg 2 is set:
  190.  
  191. set {skperms::default} to "%arg 2%"
  192.  
  193. message "{@prefix} {@maincolour}Set default group to &l%arg 2%"
  194.  
  195. else:
  196.  
  197. message "{@prefix} {@maincolour}Error: Group not specified"
  198.  
  199. else if arg 1 is "p" or "player":
  200.  
  201. if arg 2 is not set:
  202.  
  203. message "{@prefix} {@maincolour}Error: Player not specified"
  204.  
  205. else if arg 2 is set:
  206.  
  207. if arg 3 is "a" or "add":
  208.  
  209. if arg 4 is "p", "permission" or "permissions":
  210.  
  211. if arg 5 is set:
  212.  
  213. if {skperms::groups::*} doesn't contain "%arg 2%":
  214.  
  215. add "%arg 2%" to {skperms::groups::*}
  216.  
  217. set {_player} to arg 2 parsed as player
  218.  
  219. add "%arg 5%" to {_player}'s permissions
  220.  
  221. set {skperms::player::%arg 2%::permissions::*} to {_player}'s permissions
  222.  
  223. message "{@prefix} {@maincolour}Added %arg 5% to %arg 2%'s permissions"
  224.  
  225. else:
  226.  
  227. message "{@prefix} {@maincolour}Error: Permission not specified"
  228.  
  229. else if arg 4 is "g", "group" or "groups":
  230.  
  231. if arg 5 is set:
  232.  
  233. if {skperms::groups::*} doesn't contain "%arg 2%":
  234.  
  235. add "%arg 2%" to {skperms::groups::*}
  236.  
  237. if {skperms::player::%arg 2%::groups::*} doesn't contain "%arg 5%":
  238.  
  239. add "%arg 5%" to {skperms::player::%arg 2%::groups::*}
  240.  
  241. else:
  242.  
  243. message "{@prefix} {@secondcolour}%arg 2% already has group %arg 5%"
  244.  
  245. stop
  246.  
  247. message "{@prefix} {@maincolour}Added %arg 2% to group %arg 5%"
  248.  
  249. if {@UseChat} is true:
  250.  
  251. if {@ChatType} is "Display" or "display":
  252.  
  253. loop all players:
  254.  
  255. if {skperms::player::%player%::groups::*} contains "%arg 5%":
  256.  
  257. if {skperms::group::%arg 5%::prefix} is set:
  258.  
  259. if {skperms::group::%arg 5%::suffix} is set:
  260.  
  261. set loop-player's display name to coloured "%{skperms::group::%arg 5%::prefix}%%loop-player%%{skperms::group::%arg 5%::suffix}%"
  262.  
  263. else:
  264.  
  265. set loop-player's display name to coloured "%{skperms::group::%arg 5%::prefix}%%loop-player%"
  266.  
  267. else if {skperms::group::%arg 5%::suffix} is set:
  268.  
  269. set loop-player's display name to coloured "%loop-player%%{skperms::group::%arg 5%::suffix}%"
  270.  
  271. else:
  272.  
  273. set loop-player's display name to "%player%"
  274.  
  275. loop all players:
  276.  
  277. if {skperms::player::%player%::groups::*} is not set:
  278.  
  279. set loop-player's display name to "%player%"
  280.  
  281. else:
  282.  
  283. message "{@prefix} {@maincolour}Error: Group not specified"
  284.  
  285. else:
  286.  
  287. message "{@prefix} {@maincolour}Error: Type not specified"
  288.  
  289. else if arg 3 is "s" or "set":
  290.  
  291. if arg 4 is "g", "group" or "groups":
  292.  
  293. if arg 5 is set:
  294.  
  295. if {skperms::groups::*} doesn't contain "%arg 2%":
  296.  
  297. add "%arg 2%" to {skperms::groups::*}
  298.  
  299. delete {skperms::player::%arg 2%::groups::*}
  300.  
  301. add "%arg 5%" to {skperms::player::%arg 2%::groups::*}
  302.  
  303. message "{@prefix} {@maincolour}Set %arg 2% to group %arg 5%"
  304.  
  305. if {@UseChat} is true:
  306.  
  307. if {@ChatType} is "Display" or "display":
  308.  
  309. loop all players:
  310.  
  311. if {skperms::player::%player%::groups::*} contains "%arg 5%":
  312.  
  313. if {skperms::group::%arg 5%::prefix} is set:
  314.  
  315. if {skperms::group::%arg 5%::suffix} is set:
  316.  
  317. set loop-player's display name to coloured "%{skperms::group::%arg 5%::prefix}%%loop-player%%{skperms::group::%arg 5%::suffix}%"
  318.  
  319. else:
  320.  
  321. set loop-player's display name to coloured "%{skperms::group::%arg 5%::prefix}%%loop-player%"
  322.  
  323. else if {skperms::group::%arg 5%::suffix} is set:
  324.  
  325. set loop-player's display name to coloured "%loop-player%%{skperms::group::%arg 5%::suffix}%"
  326.  
  327. else:
  328.  
  329. set loop-player's display name to "%player%"
  330.  
  331. loop all players:
  332.  
  333. if {skperms::player::%player%::groups::*} is not set:
  334.  
  335. set loop-player's display name to "%player%"
  336.  
  337. else:
  338.  
  339. message "{@prefix} {@maincolour}Error: Group not specified"
  340.  
  341. else:
  342.  
  343. message "{@prefix} {@maincolour}Error: Type not specified"
  344.  
  345. else if arg 3 is "r" or "remove":
  346.  
  347. if arg 4 is "p", "permission" or "permissions":
  348.  
  349. if arg 5 is set:
  350.  
  351. set {_player} to arg 2 parsed as player
  352.  
  353. remove "%arg 5%" from {_player}'s permissions
  354.  
  355. set {skperms::player::%arg 2%::permissions::*} to {_player}'s permissions
  356.  
  357. message "{@prefix} {@maincolour}Removed %arg 5% from %arg 2%'s permissions"
  358.  
  359. else:
  360.  
  361. message "{@prefix} {@maincolour}Error: Permission not specified"
  362.  
  363. else if arg 4 is "g", "group" or "groups":
  364.  
  365. if arg 5 is set:
  366.  
  367. if {skperms::player::%arg 2%::groups::*} contains "%arg 5%":
  368.  
  369. remove "%arg 5%" from {skperms::player::%arg 2%::groups::*}
  370.  
  371. message "{@prefix} {@maincolour}Removed %arg 2% from group %arg 5%"
  372.  
  373. if {@UseChat} is true:
  374.  
  375. if {@ChatType} is "Display" or "display":
  376.  
  377. loop all players:
  378.  
  379. if {skperms::player::%player%::groups::*} contains "%arg 5%":
  380.  
  381. if {skperms::group::%arg 5%::prefix} is set:
  382.  
  383. if {skperms::group::%arg 5%::suffix} is set:
  384.  
  385. set loop-player's display name to coloured "%{skperms::group::%arg 5%::prefix}%%loop-player%%{skperms::group::%arg 5%::suffix}%"
  386.  
  387. else:
  388.  
  389. set loop-player's display name to coloured "%{skperms::group::%arg 5%::prefix}%%loop-player%"
  390.  
  391. else if {skperms::group::%arg 5%::suffix} is set:
  392.  
  393. set loop-player's display name to coloured "%loop-player%%{skperms::group::%arg 5%::suffix}%"
  394.  
  395. else:
  396.  
  397. set loop-player's display name to "%player%"
  398.  
  399. loop all players:
  400.  
  401. if {skperms::player::%player%::groups::*} is not set:
  402.  
  403. set loop-player's display name to "%player%"
  404.  
  405. else:
  406.  
  407. message "{@prefix} {@maincolour}Error: Player %arg 2% doesn't have that group"
  408.  
  409. else:
  410.  
  411. message "{@prefix} {@maincolour}Error: Group not specified"
  412.  
  413. else:
  414.  
  415. message "{@prefix} {@maincolour}Error: Type not specified"
  416.  
  417. else if arg 3 is "l" or "list":
  418.  
  419. if arg 4 is "p", "permission" or "permissions":
  420.  
  421. set {_player} to arg 2 parsed as player
  422.  
  423. message "{@prefix} {@maincolour}%{_player}'s permissions%"
  424.  
  425. else if arg 4 is "g", "group" or "groups":
  426.  
  427. message "{@prefix} {@maincolour}%{skperms::player::%arg 2%::groups::*}%"
  428.  
  429. else:
  430.  
  431. message "{@prefix} {@maincolour}Error: Type not specified"
  432.  
  433. else if arg 1 is "g", "group" or "groups":
  434.  
  435. if arg 2 is not set:
  436.  
  437. message "{@prefix} {@maincolour}Error: Group not specified"
  438.  
  439. else if arg 2 is set:
  440.  
  441. if arg 3 is "a" or "add":
  442.  
  443. if arg 4 is "p", "permission" or "permissions":
  444.  
  445. if arg 5 is set:
  446.  
  447. if {skperms::groups::*} doesn't contain "%arg 2%":
  448.  
  449. add "%arg 2%" to {skperms::groups::*}
  450.  
  451. add "%arg 5%" to {skperms::group::%arg 2%::permissions::*}
  452.  
  453. message "{@prefix} {@maincolour}Added %arg 5% to group %arg 2%'s permissions"
  454.  
  455. loop all players:
  456.  
  457. if {skperms::player::%player%::groups::*} contains "%arg 2%":
  458.  
  459. loop {skperms::group::%arg 2%::permissions::*}:
  460.  
  461. add "%loop-value-2%" to loop-player's permissions
  462.  
  463. else:
  464.  
  465. message "{@prefix} {@maincolour}Error: Permission not specified"
  466.  
  467. else if arg 4 is "g", "group" or "groups":
  468.  
  469. if arg 5 is set:
  470.  
  471. if {skperms::groups::*} doesn't contain "%arg 2%":
  472.  
  473. add "%arg 2%" to {skperms::groups::*}
  474.  
  475. loop {skperms::group::%arg 5%::permissions::*}:
  476.  
  477. add "%loop-value%" to {skperms::group::%arg 2%::permissions::*}
  478.  
  479. message "{@prefix} {@maincolour}Added %arg 5%'s permissions to group %arg 2%"
  480.  
  481. loop all players:
  482.  
  483. if {skperms::player::%player%::groups::*} contains "%arg 2%":
  484.  
  485. loop {skperms::group::%arg 2%::permissions::*}:
  486.  
  487. add "%loop-value-2%" to loop-player's permissions
  488.  
  489. else:
  490.  
  491. message "{@prefix} {@maincolour}Error: Group not specified"
  492.  
  493. else:
  494.  
  495. message "{@prefix} {@maincolour}Error: Type not specified"
  496.  
  497. else if arg 3 is "r" or "remove":
  498.  
  499. if arg 4 is "p", "permission" or "permissions":
  500.  
  501. if arg 5 is set:
  502.  
  503. loop all players:
  504.  
  505. if {skperms::player::%player%::groups::*} contains "%arg 2%":
  506.  
  507. loop {skperms::group::%arg 2%::permissions::*}:
  508.  
  509. remove "%loop-value-2%" from loop-player's permissions
  510.  
  511. remove "%arg 5%" from {skperms::group::%arg 2%::permissions::*}
  512.  
  513. message "{@prefix} {@maincolour}Removed %arg 5% from group %arg 2%'s permissions"
  514.  
  515. loop all players:
  516.  
  517. if {skperms::player::%player%::groups::*} contains "%arg 2%":
  518.  
  519. loop {skperms::group::%arg 2%::permissions::*}:
  520.  
  521. add "%loop-value-2%" to loop-player's permissions
  522.  
  523. else:
  524.  
  525. message "{@prefix} {@maincolour}Error: Permission not specified"
  526.  
  527. else if arg 4 is "g", "group" or "groups":
  528.  
  529. if arg 5 is set:
  530.  
  531. loop all players:
  532.  
  533. if {skperms::player::%player%::groups::*} contains "%arg 2%":
  534.  
  535. loop {skperms::group::%arg 2%::permissions::*}:
  536.  
  537. remove "%loop-value-2%" from loop-player's permissions
  538.  
  539. loop {skperms::group::%arg 5%::permissions::*}:
  540.  
  541. remove "%loop-value%" from {skperms::group::%arg 2%::permissions::*}
  542.  
  543. add 1 to {_l}
  544.  
  545. message "{@prefix} {@maincolour}Removed %{_l}% of %arg 5%'s permissions from group %arg 2%"
  546.  
  547. loop all players:
  548.  
  549. if {skperms::player::%player%::groups::*} contains "%arg 2%":
  550.  
  551. loop {skperms::group::%arg 2%::permissions::*}:
  552.  
  553. add "%loop-value-2%" to loop-player's permissions
  554.  
  555. else:
  556.  
  557. message "{@prefix} {@maincolour}Error: Group not specified"
  558.  
  559. else:
  560.  
  561. message "{@prefix} {@maincolour}Error: Type not specified"
  562.  
  563. else if arg 3 is "l" or "list":
  564.  
  565. if arg 4 is "p", "permission" or "permissions":
  566.  
  567. message "{@prefix} {@maincolour}%{skperms::group::%arg 2%::permissions::*}%"
  568.  
  569. else:
  570.  
  571. message "{@prefix} {@maincolour}Error: Type not specified"
  572.  
  573. else if arg 3 is "prefix" or "suffix":
  574.  
  575. if arg 4 is "set":
  576.  
  577. if arg 5 is set:
  578.  
  579. set {skperms::group::%arg 2%::%arg 3%} to "%arg 5%"
  580.  
  581. message "{@prefix} {@maincolour}%arg 3% set to %arg 5%"
  582.  
  583. if {@UseChat} is true:
  584.  
  585. if {@ChatType} is "Display" or "display":
  586.  
  587. loop all players:
  588.  
  589. if {skperms::player::%player%::groups::*} contains "%arg 5%":
  590.  
  591. if {skperms::group::%arg 5%::prefix} is set:
  592.  
  593. if {skperms::group::%arg 5%::suffix} is set:
  594.  
  595. set loop-player's display name to coloured "%{skperms::group::%arg 5%::prefix}%%loop-player%%{skperms::group::%arg 5%::suffix}%"
  596.  
  597. else:
  598.  
  599. set loop-player's display name to coloured "%{skperms::group::%arg 5%::prefix}%%loop-player%"
  600.  
  601. else if {skperms::group::%arg 5%::suffix} is set:
  602.  
  603. set loop-player's display name to coloured "%loop-player%%{skperms::group::%arg 5%::suffix}%"
  604.  
  605. else:
  606.  
  607. set loop-player's display name to "%player%"
  608.  
  609. loop all players:
  610.  
  611. if {skperms::player::%player%::groups::*} is not set:
  612.  
  613. set loop-player's display name to "%player%"
  614.  
  615. else:
  616.  
  617. message "{@prefix} {@maincolour}Prefix/Suffix not specified"
  618.  
  619. else:
  620.  
  621. message "{@prefix} {@maincolour}Error: Type not specified (Type ""set"")"
  622.  
  623. on quit:
  624.  
  625. set {skperms::player::%player%::permissions::*} to player's permissions
  626.  
  627. on join:
  628.  
  629. loop 2 times:
  630.  
  631. remove "%player%" from {skperms::players::*}
  632.  
  633. add "%player%" to {skperms::players::*}
  634.  
  635. loop {skperms::groups::*}:
  636.  
  637. if player has permission "skperms.group.%loop-value%":
  638.  
  639. if {skperms::player::%player%::groups::*} doesn't contain "%loop-value%":
  640.  
  641. add "%loop-value%" to {skperms::player::%player%::groups::*}
  642.  
  643. if {skperms::default} is set:
  644.  
  645. loop {skperms::group::%{skperms::default}%::permissions::*}:
  646.  
  647. add "%loop-value%" to player's permissions
  648.  
  649. loop {skperms::player::%player%::permissions::*}:
  650.  
  651. add "%loop-value%" to player's permissions
  652.  
  653. if {skperms::player::%player%::groups::*} is not empty:
  654.  
  655. loop {skperms::player::%player%::groups::*}:
  656.  
  657. loop {skperms::group::%loop-value%::permissions::*}:
  658.  
  659. add "%loop-value-2%" to player's permissions
  660.  
  661. if {@UseChat} is true:
  662.  
  663. if {@ChatType} is "Display" or "display":
  664.  
  665. if {skperms::group::%loop-index%::prefix} is set:
  666.  
  667. if {skperms::group::%loop-index%::suffix} is set:
  668.  
  669. set player's display name to coloured "%{skperms::group::%loop-index%::prefix}%%player%%{skperms::group::%loop-index%::suffix}%"
  670.  
  671. else:
  672.  
  673. set player's display name to coloured "%{skperms::group::%loop-index%::prefix}%%player%"
  674.  
  675. else if {skperms::group::%loop-index%::suffix} is set:
  676.  
  677. set player's display name to coloured "%player%%{skperms::group::%loop-index%::suffix}%"
  678.  
  679. else:
  680.  
  681. set player's display name to "%player%"
  682.  
  683. loop all players:
  684.  
  685. if {skperms::player::%player%::groups::*} is not set:
  686.  
  687. set loop-player's display name to "%player%"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement