Advertisement
Guest User

Untitled

a guest
Nov 22nd, 2018
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 16.92 KB | None | 0 0
  1. script options:
  2. $ use permissions
  3. #To use SQL for SkPerms, remove the # from below, and edit settings to yours
  4.  
  5. #$ init com.mysql.jdbc.Driver
  6. #$ db url jdbc:mysql://localhost:3306/skript
  7. #$ db username admin
  8. #$ db password skperm_pass
  9. options:
  10. prefix: &6[&4&lPERMISSIONS&6]
  11. maincolour: &7
  12. secondcolour: &c
  13. command: /skperms
  14. aliases: /skp, /skpermissions, /skperm
  15. permission: skperms.admin
  16.  
  17. #CMD protection is basically extra security for your server. Only players inside of a list variable can use SkPerms
  18. CMDprotection: false
  19. CMDprotectionMsg: Unknown command. Type ""/help"" for help
  20. #The player list is the list variable that contains players that can use SkPerms if CMDprotection is enabled
  21. PlayerList: {example::players::*}
  22.  
  23. UseChat: true #use prefix and suffix in the chat
  24. #Chat types:
  25. #Display - Changes the player's display name (Vault will hook if installed)
  26. #Override - !COMING SOON
  27. ChatType: "Display"
  28.  
  29. version: 1.0.5
  30.  
  31. on script load:
  32. if file "plugins\SkPerms" exists:
  33. delete {skperms::config::*}
  34. else:
  35. #set yaml value "version" from file "plugins\SkPerms\config.yml" to "{@version}"
  36. #set yaml value "useYML" from file "plugins\SkPerms\config.yml" to false
  37. #set {skperms::config::version} to (1.0.5)
  38. set {skperms::config::useYML} to false
  39. if {skperms::config::useYML} is true:
  40. if {skperms::players::*} is not set:
  41. stop
  42. #delete file "plugins\SkPerms\players.yml"
  43. loop {skperms::players::*}:
  44. loop {skperms::player::%loop-value%::permissions::*}:
  45. #add "%loop-value-2%" to yaml list "players.%loop-value-1%.permissions" from file "plugins\SkPerms\players.yml"
  46. on script unload:
  47. loop {skperms::groups::*}:
  48. if {skperms::group::%loop-value%::*} is not set:
  49. loop {skperms::group::%loop-value-1%::permissions::*}:
  50. loop {skperms::players::*}:
  51. remove "%loop-value-2%" from {skperms::player::%loop-value-3%::permissions::*}
  52. loop {skperms::players::*}:
  53. remove "%loop-value-1%" from {skperms::player::%loop-value-2%::groups::*}
  54. if {skperms::player::%loop-value-2%::groups::*} is not empty:
  55. loop {skperms::player::%loop-value-2%::groups::*}:
  56. loop {skperms::group::%loop-value-1%::permissions::*}:
  57. set {_p} to "%loop-value-2%" parsed as player
  58. add "%loop-value-4%" to {_p}'s permissions
  59. remove "%loop-value%" from {skperms::groups::*}
  60. command {@command} [<text>] [<text>] [<text>] [<text>] [<text>]:
  61. permission: {@permission}
  62. aliases: {@aliases}
  63. trigger:
  64. if {@CMDprotection} is true:
  65. if command sender is not console:
  66. if {@PlayerList} doesn't contain player or "%player%":
  67. message "{@CMDprotectionMsg}"
  68. stop
  69. if arg 1 is not set:
  70. message ""
  71. message "{@prefix} v{@version}:"
  72. message "{@maincolour}{@command} deleteDefault"
  73. message "{@secondcolour}Deletes default group setting (If set)"
  74. message "{@maincolour}{@command} (d|default) (group)"
  75. if {skperms::default} is set:
  76. message "{@secondcolour}Set the default group {@maincolour}(&7%{skperms::default}%{@maincolour})"
  77. else:
  78. message "{@secondcolour}Set the default group"
  79. message "{@maincolour}{@command} (p|player) (player) (add|remove|list) permission [permission]"
  80. message "{@secondcolour}Add/remove/list a players permissions"
  81. message "{@maincolour}{@command} (p|player) (player) (add|set|remove|list) group [group]"
  82. message "{@secondcolour}Add/remove/set/list a players group"
  83. message "{@maincolour}{@command} (g|group) (group) (add|remove|list) permission [permission]"
  84. message "{@secondcolour}Add/remove/list a group permission"
  85. message "{@maincolour}{@command} (g|group) (group) (add|remove|list) group [group]"
  86. message "{@secondcolour}Add/remove/list a groups connected groups"
  87. message "{@secondcolour}A group is created once it contains a permission"
  88. message "{@maincolour}{@command} (g|group) (group) (prefix|suffix) set (text)"
  89. message "{@secondcolour}Set a suffix or prefix to a group"
  90. message ""
  91. else if arg 1 is "deleteDefault":
  92. delete {skperms::default}
  93. message "{@prefix} {@maincolour}Removed default group (No group set)"
  94. else if arg 1 is "d", "setdefault" or "default":
  95. if arg 2 is set:
  96. set {skperms::default} to "%arg 2%"
  97. message "{@prefix} {@maincolour}Set default group to &l%arg 2%"
  98. else:
  99. message "{@prefix} {@maincolour}Error: Group not specified"
  100. else if arg 1 is "p" or "player":
  101. if arg 2 is not set:
  102. message "{@prefix} {@maincolour}Error: Player not specified"
  103. else if arg 2 is set:
  104. if arg 3 is "a" or "add":
  105. if arg 4 is "p", "permission" or "permissions":
  106. if arg 5 is set:
  107. if {skperms::groups::*} doesn't contain "%arg 2%":
  108. add "%arg 2%" to {skperms::groups::*}
  109. set {_player} to arg 2 parsed as player
  110. add "%arg 5%" to {_player}'s permissions
  111. set {skperms::player::%arg 2%::permissions::*} to {_player}'s permissions
  112. message "{@prefix} {@maincolour}Added %arg 5% to %arg 2%'s permissions"
  113. else:
  114. message "{@prefix} {@maincolour}Error: Permission not specified"
  115. else if arg 4 is "g", "group" or "groups":
  116. if arg 5 is set:
  117. if {skperms::groups::*} doesn't contain "%arg 2%":
  118. add "%arg 2%" to {skperms::groups::*}
  119. if {skperms::player::%arg 2%::groups::*} doesn't contain "%arg 5%":
  120. add "%arg 5%" to {skperms::player::%arg 2%::groups::*}
  121. else:
  122. message "{@prefix} {@secondcolour}%arg 2% already has group %arg 5%"
  123. stop
  124. message "{@prefix} {@maincolour}Added %arg 2% to group %arg 5%"
  125. if {@UseChat} is true:
  126. if {@ChatType} is "Display" or "display":
  127. loop all players:
  128. if {skperms::player::%player%::groups::*} contains "%arg 5%":
  129. if {skperms::group::%arg 5%::prefix} is set:
  130. if {skperms::group::%arg 5%::suffix} is set:
  131. set loop-player's display name to coloured "%{skperms::group::%arg 5%::prefix}%%loop-player%%{skperms::group::%arg 5%::suffix}%"
  132. else:
  133. set loop-player's display name to coloured "%{skperms::group::%arg 5%::prefix}%%loop-player%"
  134. else if {skperms::group::%arg 5%::suffix} is set:
  135. set loop-player's display name to coloured "%loop-player%%{skperms::group::%arg 5%::suffix}%"
  136. else:
  137. set loop-player's display name to "%player%"
  138. loop all players:
  139. if {skperms::player::%player%::groups::*} is not set:
  140. set loop-player's display name to "%player%"
  141. else:
  142. message "{@prefix} {@maincolour}Error: Group not specified"
  143. else:
  144. message "{@prefix} {@maincolour}Error: Type not specified"
  145. else if arg 3 is "s" or "set":
  146. if arg 4 is "g", "group" or "groups":
  147. if arg 5 is set:
  148. if {skperms::groups::*} doesn't contain "%arg 2%":
  149. add "%arg 2%" to {skperms::groups::*}
  150. delete {skperms::player::%arg 2%::groups::*}
  151. add "%arg 5%" to {skperms::player::%arg 2%::groups::*}
  152. message "{@prefix} {@maincolour}Set %arg 2% to group %arg 5%"
  153. if {@UseChat} is true:
  154. if {@ChatType} is "Display" or "display":
  155. loop all players:
  156. if {skperms::player::%player%::groups::*} contains "%arg 5%":
  157. if {skperms::group::%arg 5%::prefix} is set:
  158. if {skperms::group::%arg 5%::suffix} is set:
  159. set loop-player's display name to coloured "%{skperms::group::%arg 5%::prefix}%%loop-player%%{skperms::group::%arg 5%::suffix}%"
  160. else:
  161. set loop-player's display name to coloured "%{skperms::group::%arg 5%::prefix}%%loop-player%"
  162. else if {skperms::group::%arg 5%::suffix} is set:
  163. set loop-player's display name to coloured "%loop-player%%{skperms::group::%arg 5%::suffix}%"
  164. else:
  165. set loop-player's display name to "%player%"
  166. loop all players:
  167. if {skperms::player::%player%::groups::*} is not set:
  168. set loop-player's display name to "%player%"
  169. else:
  170. message "{@prefix} {@maincolour}Error: Group not specified"
  171. else:
  172. message "{@prefix} {@maincolour}Error: Type not specified"
  173. else if arg 3 is "r" or "remove":
  174. if arg 4 is "p", "permission" or "permissions":
  175. if arg 5 is set:
  176. set {_player} to arg 2 parsed as player
  177. remove "%arg 5%" from {_player}'s permissions
  178. set {skperms::player::%arg 2%::permissions::*} to {_player}'s permissions
  179. message "{@prefix} {@maincolour}Removed %arg 5% from %arg 2%'s permissions"
  180. else:
  181. message "{@prefix} {@maincolour}Error: Permission not specified"
  182. else if arg 4 is "g", "group" or "groups":
  183. if arg 5 is set:
  184. if {skperms::player::%arg 2%::groups::*} contains "%arg 5%":
  185. remove "%arg 5%" from {skperms::player::%arg 2%::groups::*}
  186. message "{@prefix} {@maincolour}Removed %arg 2% from group %arg 5%"
  187. if {@UseChat} is true:
  188. if {@ChatType} is "Display" or "display":
  189. loop all players:
  190. if {skperms::player::%player%::groups::*} contains "%arg 5%":
  191. if {skperms::group::%arg 5%::prefix} is set:
  192. if {skperms::group::%arg 5%::suffix} is set:
  193. set loop-player's display name to coloured "%{skperms::group::%arg 5%::prefix}%%loop-player%%{skperms::group::%arg 5%::suffix}%"
  194. else:
  195. set loop-player's display name to coloured "%{skperms::group::%arg 5%::prefix}%%loop-player%"
  196. else if {skperms::group::%arg 5%::suffix} is set:
  197. set loop-player's display name to coloured "%loop-player%%{skperms::group::%arg 5%::suffix}%"
  198. else:
  199. set loop-player's display name to "%player%"
  200. loop all players:
  201. if {skperms::player::%player%::groups::*} is not set:
  202. set loop-player's display name to "%player%"
  203. else:
  204. message "{@prefix} {@maincolour}Error: Player %arg 2% doesn't have that group"
  205. else:
  206. message "{@prefix} {@maincolour}Error: Group not specified"
  207. else:
  208. message "{@prefix} {@maincolour}Error: Type not specified"
  209. else if arg 3 is "l" or "list":
  210. if arg 4 is "p", "permission" or "permissions":
  211. set {_player} to arg 2 parsed as player
  212. message "{@prefix} {@maincolour}%{_player}'s permissions%"
  213. else if arg 4 is "g", "group" or "groups":
  214. message "{@prefix} {@maincolour}%{skperms::player::%arg 2%::groups::*}%"
  215. else:
  216. message "{@prefix} {@maincolour}Error: Type not specified"
  217. else if arg 1 is "g", "group" or "groups":
  218. if arg 2 is not set:
  219. message "{@prefix} {@maincolour}Error: Group not specified"
  220. else if arg 2 is set:
  221. if arg 3 is "a" or "add":
  222. if arg 4 is "p", "permission" or "permissions":
  223. if arg 5 is set:
  224. if {skperms::groups::*} doesn't contain "%arg 2%":
  225. add "%arg 2%" to {skperms::groups::*}
  226. add "%arg 5%" to {skperms::group::%arg 2%::permissions::*}
  227. message "{@prefix} {@maincolour}Added %arg 5% to group %arg 2%'s permissions"
  228. loop all players:
  229. if {skperms::player::%player%::groups::*} contains "%arg 2%":
  230. loop {skperms::group::%arg 2%::permissions::*}:
  231. add "%loop-value-2%" to loop-player's permissions
  232. else:
  233. message "{@prefix} {@maincolour}Error: Permission not specified"
  234. else if arg 4 is "g", "group" or "groups":
  235. if arg 5 is set:
  236. if {skperms::groups::*} doesn't contain "%arg 2%":
  237. add "%arg 2%" to {skperms::groups::*}
  238. loop {skperms::group::%arg 5%::permissions::*}:
  239. add "%loop-value%" to {skperms::group::%arg 2%::permissions::*}
  240. message "{@prefix} {@maincolour}Added %arg 5%'s permissions to group %arg 2%"
  241. loop all players:
  242. if {skperms::player::%player%::groups::*} contains "%arg 2%":
  243. loop {skperms::group::%arg 2%::permissions::*}:
  244. add "%loop-value-2%" to loop-player's permissions
  245. else:
  246. message "{@prefix} {@maincolour}Error: Group not specified"
  247. else:
  248. message "{@prefix} {@maincolour}Error: Type not specified"
  249. else if arg 3 is "r" or "remove":
  250. if arg 4 is "p", "permission" or "permissions":
  251. if arg 5 is set:
  252. loop all players:
  253. if {skperms::player::%player%::groups::*} contains "%arg 2%":
  254. loop {skperms::group::%arg 2%::permissions::*}:
  255. remove "%loop-value-2%" from loop-player's permissions
  256. remove "%arg 5%" from {skperms::group::%arg 2%::permissions::*}
  257. message "{@prefix} {@maincolour}Removed %arg 5% from group %arg 2%'s permissions"
  258. loop all players:
  259. if {skperms::player::%player%::groups::*} contains "%arg 2%":
  260. loop {skperms::group::%arg 2%::permissions::*}:
  261. add "%loop-value-2%" to loop-player's permissions
  262. else:
  263. message "{@prefix} {@maincolour}Error: Permission not specified"
  264. else if arg 4 is "g", "group" or "groups":
  265. if arg 5 is set:
  266. loop all players:
  267. if {skperms::player::%player%::groups::*} contains "%arg 2%":
  268. loop {skperms::group::%arg 2%::permissions::*}:
  269. remove "%loop-value-2%" from loop-player's permissions
  270. loop {skperms::group::%arg 5%::permissions::*}:
  271. remove "%loop-value%" from {skperms::group::%arg 2%::permissions::*}
  272. add 1 to {_l}
  273. message "{@prefix} {@maincolour}Removed %{_l}% of %arg 5%'s permissions from group %arg 2%"
  274. loop all players:
  275. if {skperms::player::%player%::groups::*} contains "%arg 2%":
  276. loop {skperms::group::%arg 2%::permissions::*}:
  277. add "%loop-value-2%" to loop-player's permissions
  278. else:
  279. message "{@prefix} {@maincolour}Error: Group not specified"
  280. else:
  281. message "{@prefix} {@maincolour}Error: Type not specified"
  282. else if arg 3 is "l" or "list":
  283. if arg 4 is "p", "permission" or "permissions":
  284. message "{@prefix} {@maincolour}%{skperms::group::%arg 2%::permissions::*}%"
  285. else:
  286. message "{@prefix} {@maincolour}Error: Type not specified"
  287. else if arg 3 is "prefix" or "suffix":
  288. if arg 4 is "set":
  289. if arg 5 is set:
  290. set {skperms::group::%arg 2%::%arg 3%} to "%arg 5%"
  291. message "{@prefix} {@maincolour}%arg 3% set to %arg 5%"
  292. if {@UseChat} is true:
  293. if {@ChatType} is "Display" or "display":
  294. loop all players:
  295. if {skperms::player::%player%::groups::*} contains "%arg 5%":
  296. if {skperms::group::%arg 5%::prefix} is set:
  297. if {skperms::group::%arg 5%::suffix} is set:
  298. set loop-player's display name to coloured "%{skperms::group::%arg 5%::prefix}%%loop-player%%{skperms::group::%arg 5%::suffix}%"
  299. else:
  300. set loop-player's display name to coloured "%{skperms::group::%arg 5%::prefix}%%loop-player%"
  301. else if {skperms::group::%arg 5%::suffix} is set:
  302. set loop-player's display name to coloured "%loop-player%%{skperms::group::%arg 5%::suffix}%"
  303. else:
  304. set loop-player's display name to "%player%"
  305. loop all players:
  306. if {skperms::player::%player%::groups::*} is not set:
  307. set loop-player's display name to "%player%"
  308. else:
  309. message "{@prefix} {@maincolour}Prefix/Suffix not specified"
  310. else:
  311. message "{@prefix} {@maincolour}Error: Type not specified (Type ""set"")"
  312. on quit:
  313. set {skperms::player::%player%::permissions::*} to player's permissions
  314. on join:
  315. loop 2 times:
  316. remove "%player%" from {skperms::players::*}
  317. add "%player%" to {skperms::players::*}
  318. loop {skperms::groups::*}:
  319. if player has permission "skperms.group.%loop-value%":
  320. if {skperms::player::%player%::groups::*} doesn't contain "%loop-value%":
  321. add "%loop-value%" to {skperms::player::%player%::groups::*}
  322. if {skperms::default} is set:
  323. loop {skperms::group::%{skperms::default}%::permissions::*}:
  324. add "%loop-value%" to player's permissions
  325. loop {skperms::player::%player%::permissions::*}:
  326. add "%loop-value%" to player's permissions
  327. if {skperms::player::%player%::groups::*} is not empty:
  328. loop {skperms::player::%player%::groups::*}:
  329. loop {skperms::group::%loop-value%::permissions::*}:
  330. add "%loop-value-2%" to player's permissions
  331. if {@UseChat} is true:
  332. if {@ChatType} is "Display" or "display":
  333. if {skperms::group::%loop-index%::prefix} is set:
  334. if {skperms::group::%loop-index%::suffix} is set:
  335. set player's display name to coloured "%{skperms::group::%loop-index%::prefix}%%player%%{skperms::group::%loop-index%::suffix}%"
  336. else:
  337. set player's display name to coloured "%{skperms::group::%loop-index%::prefix}%%player%"
  338. else if {skperms::group::%loop-index%::suffix} is set:
  339. set player's display name to coloured "%player%%{skperms::group::%loop-index%::suffix}%"
  340. else:
  341. set player's display name to "%player%"
  342. loop all players:
  343. if {skperms::player::%player%::groups::*} is not set:
  344. set loop-player's display name to "%player%"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement