options: prefix: &6[&5SkPerms&6] glownykolor: &6 pierwszykolor: &7 command: /skperms aliases: /perm, /permission permission: skperms.admin #CMDprotection to jest zasadniczo dodatkowym zabezpieczeniem dla serwera CMDprotection: false CMDprotectionMsg: Nie ma takiej komendy! #PlayerList jest listą zawierającą graczy, którzy mogą używać SkPerms, jeśli CMDprotection jest włączony PlayerList: {example::players::*} UseChat: true #Wczytuje prefix i suffix na chacie 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 yaml value "version" from file "plugins\SkPerms\config.yml" set {skperms::config::useYML} to yaml value "useYML" from file "plugins\SkPerms\config.yml" 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} [] [] [] [] []: 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 "{@glownykolor}{@command} deleteDefault" message "{@pierwszykolor}Usuwa defaultowe ustawienia (jezeli sa ustawione)" message "{@glownykolor}{@command} (d|default) (group)" if {skperms::default} is set: message "{@pierwszykolor}Ustawiles defaultowa grupe {@glownykolor}(&7%{skperms::default}%{@glownykolor})" else: message "{@pierwszykolor}Ustaw defaultowa grupe" message "{@glownykolor}{@command} (p|player) (player) (add|remove|list) permission [permission]" message "{@pierwszykolor}Add/remove/list graczy permissja" message "{@glownykolor}{@command} (p|player) (player) (add|set|remove|list) group [group]" message "{@pierwszykolor}Add/remove/set/list graczy grup" message "{@glownykolor}{@command} (g|group) (group) (add|remove|list) permission [permission]" message "{@pierwszykolor}Add/remove/list grup permisja" message "{@glownykolor}{@command} (g|group) (group) (add|remove|list) group [group]" message "{@pierwszykolor}Add/remove/list grupy polaczone grupami" message "{@pierwszykolor}Grupa jest tworzona, gdy zawiera pozwolenie" message "{@glownykolor}{@command} (g|group) (group) (prefix|suffix) set (tekst)" message "{@pierwszykolor}Ustawia suffix lub prefix grupy" message "" else if arg 1 is "deleteDefault": delete {skperms::default} message "{@prefix} {@glownykolor}Usunoles defaultowa grupe" else if arg 1 is "d", "setdefault" or "default": if arg 2 is set: set {skperms::default} to "%arg 2%" message "{@prefix} {@glownykolor}Ustawiles defaultowa grupe na: &l%arg 2%" else: message "{@prefix} {@glownykolor}Error: Taka grupa nie istnieje" else if arg 1 is "p" or "player": if arg 2 is not set: message "{@prefix} {@glownykolor}Error: Nie ma takiego gracza" 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} {@glownykolor}Dodales %arg 5% do %arg 2%'s permisji" else: message "{@prefix} {@glownykolor}Error: Permisja nie zostala odnaleziona" 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} {@pierwszykolor}%arg 2% ma juz grupe %arg 5%" stop message "{@prefix} {@glownykolor}Dodano %arg 2% do grupy %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} {@glownykolor}Error: Nie ma takiej grupy" else: message "{@prefix} {@glownykolor}Error: Nie ma czegos takiego" 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} {@glownykolor}Ustawiles %arg 2% na grupe %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} {@glownykolor}Error: Nie ma takiej grupy" else: message "{@prefix} {@glownykolor}Error: Nie ma czegos takiego" 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} {@glownykolor}Usunoles %arg 5% z permisji %arg 2%'s" else: message "{@prefix} {@glownykolor}Error: Nie ma takiej permissi!" 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} {@glownykolor}Usunoles %arg 2% z grupy %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} {@glownykolor}Error: Gracz %arg 2% nie posiada takiej grupy!" else: message "{@prefix} {@glownykolor}Error: Nie ma takiej grupy" else: message "{@prefix} {@glownykolor}Error: Nie ma czegos takiego!" 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} {@glownykolor}%{_player}'s permissions%" else if arg 4 is "g", "group" or "groups": message "{@prefix} {@glownykolor}%{skperms::player::%arg 2%::groups::*}%" else: message "{@prefix} {@glownykolor}Error: Nie ma czegos takiego!" else if arg 1 is "g", "group" or "groups": if arg 2 is not set: message "{@prefix} {@glownykolor}Error: Nie ma takiej grupy!" 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} {@glownykolor}Dodales %arg 5% do grupy %arg 2%'s permisje" 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} {@glownykolor}Error: Nie ma takiej permissi!" 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} {@glownykolor}Dodales %arg 5% permisje dla grupy %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} {@glownykolor}Error: Group not specified" else: message "{@prefix} {@glownykolor}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} {@glownykolor}Usunoles %arg 5% z grupy %arg 2% permisje" 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} {@glownykolor}Error: Nie ma takiej permissi!" 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} {@glownykolor}Usunoles %{_l}% z %arg 5% permissje %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} {@glownykolor}Error: Nie ma takiej grupy" else: message "{@prefix} {@glownykolor}Error: Nie ma czegos takiego!" else if arg 3 is "l" or "list": if arg 4 is "p", "permission" or "permissions": message "{@prefix} {@glownykolor}%{skperms::group::%arg 2%::permissions::*}%" else: message "{@prefix} {@glownykolor}Error: Nie ma czegos takiego!" 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} {@glownykolor}%arg 3% Ustawiony na %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} {@glownykolor}Prefix/Suffix nie odczytany" else: message "{@prefix} {@glownykolor}Error: Nie ma czegos takiego (Uzyj ""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%"