Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- script options:
- $ use permissions
- #To use SQL for SkPerms, remove the # from below, and edit settings to yours
- #$ init com.mysql.jdbc.Driver
- #$ db url jdbc:mysql://localhost:3306/skript
- #$ db username admin
- #$ db password skperm_pass
- options:
- prefix: &6[&4&lPERMISSIONS&6]
- maincolour: &7
- secondcolour: &c
- command: /skperms
- aliases: /skp, /skpermissions, /skperm
- permission: skperms.admin
- #CMD protection is basically extra security for your server. Only players inside of a list variable can use SkPerms
- CMDprotection: false
- CMDprotectionMsg: Unknown command. Type ""/help"" for help
- #The player list is the list variable that contains players that can use SkPerms if CMDprotection is enabled
- PlayerList: {example::players::*}
- UseChat: true #use prefix and suffix in the chat
- #Chat types:
- #Display - Changes the player's display name (Vault will hook if installed)
- #Override - !COMING SOON
- ChatType: "Display"
- version: 1.0.5
- on script load:
- if file "plugins\SkPerms" exists:
- delete {skperms::config::*}
- else:
- #set yaml value "version" from file "plugins\SkPerms\config.yml" to "{@version}"
- #set yaml value "useYML" from file "plugins\SkPerms\config.yml" to false
- #set {skperms::config::version} to (1.0.5)
- set {skperms::config::useYML} to false
- if {skperms::config::useYML} is true:
- if {skperms::players::*} is not set:
- stop
- #delete file "plugins\SkPerms\players.yml"
- loop {skperms::players::*}:
- loop {skperms::player::%loop-value%::permissions::*}:
- #add "%loop-value-2%" to yaml list "players.%loop-value-1%.permissions" from file "plugins\SkPerms\players.yml"
- on script unload:
- loop {skperms::groups::*}:
- if {skperms::group::%loop-value%::*} is not set:
- loop {skperms::group::%loop-value-1%::permissions::*}:
- loop {skperms::players::*}:
- remove "%loop-value-2%" from {skperms::player::%loop-value-3%::permissions::*}
- loop {skperms::players::*}:
- remove "%loop-value-1%" from {skperms::player::%loop-value-2%::groups::*}
- if {skperms::player::%loop-value-2%::groups::*} is not empty:
- loop {skperms::player::%loop-value-2%::groups::*}:
- loop {skperms::group::%loop-value-1%::permissions::*}:
- set {_p} to "%loop-value-2%" parsed as player
- add "%loop-value-4%" to {_p}'s permissions
- remove "%loop-value%" from {skperms::groups::*}
- command {@command} [<text>] [<text>] [<text>] [<text>] [<text>]:
- permission: {@permission}
- aliases: {@aliases}
- trigger:
- if {@CMDprotection} is true:
- if command sender is not console:
- if {@PlayerList} doesn't contain player or "%player%":
- message "{@CMDprotectionMsg}"
- stop
- if arg 1 is not set:
- message ""
- message "{@prefix} v{@version}:"
- message "{@maincolour}{@command} deleteDefault"
- message "{@secondcolour}Deletes default group setting (If set)"
- message "{@maincolour}{@command} (d|default) (group)"
- if {skperms::default} is set:
- message "{@secondcolour}Set the default group {@maincolour}(&7%{skperms::default}%{@maincolour})"
- else:
- message "{@secondcolour}Set the default group"
- message "{@maincolour}{@command} (p|player) (player) (add|remove|list) permission [permission]"
- message "{@secondcolour}Add/remove/list a players permissions"
- message "{@maincolour}{@command} (p|player) (player) (add|set|remove|list) group [group]"
- message "{@secondcolour}Add/remove/set/list a players group"
- message "{@maincolour}{@command} (g|group) (group) (add|remove|list) permission [permission]"
- message "{@secondcolour}Add/remove/list a group permission"
- message "{@maincolour}{@command} (g|group) (group) (add|remove|list) group [group]"
- message "{@secondcolour}Add/remove/list a groups connected groups"
- message "{@secondcolour}A group is created once it contains a permission"
- message "{@maincolour}{@command} (g|group) (group) (prefix|suffix) set (text)"
- message "{@secondcolour}Set a suffix or prefix to a group"
- message ""
- else if arg 1 is "deleteDefault":
- delete {skperms::default}
- message "{@prefix} {@maincolour}Removed default group (No group set)"
- else if arg 1 is "d", "setdefault" or "default":
- if arg 2 is set:
- set {skperms::default} to "%arg 2%"
- message "{@prefix} {@maincolour}Set default group to &l%arg 2%"
- else:
- message "{@prefix} {@maincolour}Error: Group not specified"
- else if arg 1 is "p" or "player":
- if arg 2 is not set:
- message "{@prefix} {@maincolour}Error: Player not specified"
- else if arg 2 is set:
- if arg 3 is "a" or "add":
- if arg 4 is "p", "permission" or "permissions":
- if arg 5 is set:
- if {skperms::groups::*} doesn't contain "%arg 2%":
- add "%arg 2%" to {skperms::groups::*}
- set {_player} to arg 2 parsed as player
- add "%arg 5%" to {_player}'s permissions
- set {skperms::player::%arg 2%::permissions::*} to {_player}'s permissions
- message "{@prefix} {@maincolour}Added %arg 5% to %arg 2%'s permissions"
- else:
- message "{@prefix} {@maincolour}Error: Permission not specified"
- else if arg 4 is "g", "group" or "groups":
- if arg 5 is set:
- if {skperms::groups::*} doesn't contain "%arg 2%":
- add "%arg 2%" to {skperms::groups::*}
- if {skperms::player::%arg 2%::groups::*} doesn't contain "%arg 5%":
- add "%arg 5%" to {skperms::player::%arg 2%::groups::*}
- else:
- message "{@prefix} {@secondcolour}%arg 2% already has group %arg 5%"
- stop
- message "{@prefix} {@maincolour}Added %arg 2% to group %arg 5%"
- if {@UseChat} is true:
- if {@ChatType} is "Display" or "display":
- loop all players:
- if {skperms::player::%player%::groups::*} contains "%arg 5%":
- if {skperms::group::%arg 5%::prefix} is set:
- if {skperms::group::%arg 5%::suffix} is set:
- set loop-player's display name to coloured "%{skperms::group::%arg 5%::prefix}%%loop-player%%{skperms::group::%arg 5%::suffix}%"
- else:
- set loop-player's display name to coloured "%{skperms::group::%arg 5%::prefix}%%loop-player%"
- else if {skperms::group::%arg 5%::suffix} is set:
- set loop-player's display name to coloured "%loop-player%%{skperms::group::%arg 5%::suffix}%"
- else:
- set loop-player's display name to "%player%"
- loop all players:
- if {skperms::player::%player%::groups::*} is not set:
- set loop-player's display name to "%player%"
- else:
- message "{@prefix} {@maincolour}Error: Group not specified"
- else:
- message "{@prefix} {@maincolour}Error: Type not specified"
- else if arg 3 is "s" or "set":
- if arg 4 is "g", "group" or "groups":
- if arg 5 is set:
- if {skperms::groups::*} doesn't contain "%arg 2%":
- add "%arg 2%" to {skperms::groups::*}
- delete {skperms::player::%arg 2%::groups::*}
- add "%arg 5%" to {skperms::player::%arg 2%::groups::*}
- message "{@prefix} {@maincolour}Set %arg 2% to group %arg 5%"
- if {@UseChat} is true:
- if {@ChatType} is "Display" or "display":
- loop all players:
- if {skperms::player::%player%::groups::*} contains "%arg 5%":
- if {skperms::group::%arg 5%::prefix} is set:
- if {skperms::group::%arg 5%::suffix} is set:
- set loop-player's display name to coloured "%{skperms::group::%arg 5%::prefix}%%loop-player%%{skperms::group::%arg 5%::suffix}%"
- else:
- set loop-player's display name to coloured "%{skperms::group::%arg 5%::prefix}%%loop-player%"
- else if {skperms::group::%arg 5%::suffix} is set:
- set loop-player's display name to coloured "%loop-player%%{skperms::group::%arg 5%::suffix}%"
- else:
- set loop-player's display name to "%player%"
- loop all players:
- if {skperms::player::%player%::groups::*} is not set:
- set loop-player's display name to "%player%"
- else:
- message "{@prefix} {@maincolour}Error: Group not specified"
- else:
- message "{@prefix} {@maincolour}Error: Type not specified"
- else if arg 3 is "r" or "remove":
- if arg 4 is "p", "permission" or "permissions":
- if arg 5 is set:
- set {_player} to arg 2 parsed as player
- remove "%arg 5%" from {_player}'s permissions
- set {skperms::player::%arg 2%::permissions::*} to {_player}'s permissions
- message "{@prefix} {@maincolour}Removed %arg 5% from %arg 2%'s permissions"
- else:
- message "{@prefix} {@maincolour}Error: Permission not specified"
- else if arg 4 is "g", "group" or "groups":
- if arg 5 is set:
- if {skperms::player::%arg 2%::groups::*} contains "%arg 5%":
- remove "%arg 5%" from {skperms::player::%arg 2%::groups::*}
- message "{@prefix} {@maincolour}Removed %arg 2% from group %arg 5%"
- if {@UseChat} is true:
- if {@ChatType} is "Display" or "display":
- loop all players:
- if {skperms::player::%player%::groups::*} contains "%arg 5%":
- if {skperms::group::%arg 5%::prefix} is set:
- if {skperms::group::%arg 5%::suffix} is set:
- set loop-player's display name to coloured "%{skperms::group::%arg 5%::prefix}%%loop-player%%{skperms::group::%arg 5%::suffix}%"
- else:
- set loop-player's display name to coloured "%{skperms::group::%arg 5%::prefix}%%loop-player%"
- else if {skperms::group::%arg 5%::suffix} is set:
- set loop-player's display name to coloured "%loop-player%%{skperms::group::%arg 5%::suffix}%"
- else:
- set loop-player's display name to "%player%"
- loop all players:
- if {skperms::player::%player%::groups::*} is not set:
- set loop-player's display name to "%player%"
- else:
- message "{@prefix} {@maincolour}Error: Player %arg 2% doesn't have that group"
- else:
- message "{@prefix} {@maincolour}Error: Group not specified"
- else:
- message "{@prefix} {@maincolour}Error: Type not specified"
- else if arg 3 is "l" or "list":
- if arg 4 is "p", "permission" or "permissions":
- set {_player} to arg 2 parsed as player
- message "{@prefix} {@maincolour}%{_player}'s permissions%"
- else if arg 4 is "g", "group" or "groups":
- message "{@prefix} {@maincolour}%{skperms::player::%arg 2%::groups::*}%"
- else:
- message "{@prefix} {@maincolour}Error: Type not specified"
- else if arg 1 is "g", "group" or "groups":
- if arg 2 is not set:
- message "{@prefix} {@maincolour}Error: Group not specified"
- else if arg 2 is set:
- if arg 3 is "a" or "add":
- if arg 4 is "p", "permission" or "permissions":
- if arg 5 is set:
- if {skperms::groups::*} doesn't contain "%arg 2%":
- add "%arg 2%" to {skperms::groups::*}
- add "%arg 5%" to {skperms::group::%arg 2%::permissions::*}
- message "{@prefix} {@maincolour}Added %arg 5% to group %arg 2%'s permissions"
- loop all players:
- if {skperms::player::%player%::groups::*} contains "%arg 2%":
- loop {skperms::group::%arg 2%::permissions::*}:
- add "%loop-value-2%" to loop-player's permissions
- else:
- message "{@prefix} {@maincolour}Error: Permission not specified"
- else if arg 4 is "g", "group" or "groups":
- if arg 5 is set:
- if {skperms::groups::*} doesn't contain "%arg 2%":
- add "%arg 2%" to {skperms::groups::*}
- loop {skperms::group::%arg 5%::permissions::*}:
- add "%loop-value%" to {skperms::group::%arg 2%::permissions::*}
- message "{@prefix} {@maincolour}Added %arg 5%'s permissions to group %arg 2%"
- loop all players:
- if {skperms::player::%player%::groups::*} contains "%arg 2%":
- loop {skperms::group::%arg 2%::permissions::*}:
- add "%loop-value-2%" to loop-player's permissions
- else:
- message "{@prefix} {@maincolour}Error: Group not specified"
- else:
- message "{@prefix} {@maincolour}Error: Type not specified"
- else if arg 3 is "r" or "remove":
- if arg 4 is "p", "permission" or "permissions":
- if arg 5 is set:
- loop all players:
- if {skperms::player::%player%::groups::*} contains "%arg 2%":
- loop {skperms::group::%arg 2%::permissions::*}:
- remove "%loop-value-2%" from loop-player's permissions
- remove "%arg 5%" from {skperms::group::%arg 2%::permissions::*}
- message "{@prefix} {@maincolour}Removed %arg 5% from group %arg 2%'s permissions"
- loop all players:
- if {skperms::player::%player%::groups::*} contains "%arg 2%":
- loop {skperms::group::%arg 2%::permissions::*}:
- add "%loop-value-2%" to loop-player's permissions
- else:
- message "{@prefix} {@maincolour}Error: Permission not specified"
- else if arg 4 is "g", "group" or "groups":
- if arg 5 is set:
- loop all players:
- if {skperms::player::%player%::groups::*} contains "%arg 2%":
- loop {skperms::group::%arg 2%::permissions::*}:
- remove "%loop-value-2%" from loop-player's permissions
- loop {skperms::group::%arg 5%::permissions::*}:
- remove "%loop-value%" from {skperms::group::%arg 2%::permissions::*}
- add 1 to {_l}
- message "{@prefix} {@maincolour}Removed %{_l}% of %arg 5%'s permissions from group %arg 2%"
- loop all players:
- if {skperms::player::%player%::groups::*} contains "%arg 2%":
- loop {skperms::group::%arg 2%::permissions::*}:
- add "%loop-value-2%" to loop-player's permissions
- else:
- message "{@prefix} {@maincolour}Error: Group not specified"
- else:
- message "{@prefix} {@maincolour}Error: Type not specified"
- else if arg 3 is "l" or "list":
- if arg 4 is "p", "permission" or "permissions":
- message "{@prefix} {@maincolour}%{skperms::group::%arg 2%::permissions::*}%"
- else:
- message "{@prefix} {@maincolour}Error: Type not specified"
- else if arg 3 is "prefix" or "suffix":
- if arg 4 is "set":
- if arg 5 is set:
- set {skperms::group::%arg 2%::%arg 3%} to "%arg 5%"
- message "{@prefix} {@maincolour}%arg 3% set to %arg 5%"
- if {@UseChat} is true:
- if {@ChatType} is "Display" or "display":
- loop all players:
- if {skperms::player::%player%::groups::*} contains "%arg 5%":
- if {skperms::group::%arg 5%::prefix} is set:
- if {skperms::group::%arg 5%::suffix} is set:
- set loop-player's display name to coloured "%{skperms::group::%arg 5%::prefix}%%loop-player%%{skperms::group::%arg 5%::suffix}%"
- else:
- set loop-player's display name to coloured "%{skperms::group::%arg 5%::prefix}%%loop-player%"
- else if {skperms::group::%arg 5%::suffix} is set:
- set loop-player's display name to coloured "%loop-player%%{skperms::group::%arg 5%::suffix}%"
- else:
- set loop-player's display name to "%player%"
- loop all players:
- if {skperms::player::%player%::groups::*} is not set:
- set loop-player's display name to "%player%"
- else:
- message "{@prefix} {@maincolour}Prefix/Suffix not specified"
- else:
- message "{@prefix} {@maincolour}Error: Type not specified (Type ""set"")"
- on quit:
- set {skperms::player::%player%::permissions::*} to player's permissions
- on join:
- loop 2 times:
- remove "%player%" from {skperms::players::*}
- add "%player%" to {skperms::players::*}
- loop {skperms::groups::*}:
- if player has permission "skperms.group.%loop-value%":
- if {skperms::player::%player%::groups::*} doesn't contain "%loop-value%":
- add "%loop-value%" to {skperms::player::%player%::groups::*}
- if {skperms::default} is set:
- loop {skperms::group::%{skperms::default}%::permissions::*}:
- add "%loop-value%" to player's permissions
- loop {skperms::player::%player%::permissions::*}:
- add "%loop-value%" to player's permissions
- if {skperms::player::%player%::groups::*} is not empty:
- loop {skperms::player::%player%::groups::*}:
- loop {skperms::group::%loop-value%::permissions::*}:
- add "%loop-value-2%" to player's permissions
- if {@UseChat} is true:
- if {@ChatType} is "Display" or "display":
- if {skperms::group::%loop-index%::prefix} is set:
- if {skperms::group::%loop-index%::suffix} is set:
- set player's display name to coloured "%{skperms::group::%loop-index%::prefix}%%player%%{skperms::group::%loop-index%::suffix}%"
- else:
- set player's display name to coloured "%{skperms::group::%loop-index%::prefix}%%player%"
- else if {skperms::group::%loop-index%::suffix} is set:
- set player's display name to coloured "%player%%{skperms::group::%loop-index%::suffix}%"
- else:
- set player's display name to "%player%"
- loop all players:
- if {skperms::player::%player%::groups::*} is not set:
- set loop-player's display name to "%player%"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement