Date: 2017/08/05 15:27:07 UTC-07:00
Type: Denizen Script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
QuickNick:
debug: false
type: command
name: nick
description: Make a new, load an existing, list your current, or delete an existing nickname!
usage: /nick new/load/
tab complete:
- define QNSC '<c.raw_args.to_list.count[ ]||0>'
- if <c.args.get[1].is[==].to[new]> queue clear
- if <c.args.get[1].is[==].to[list]> queue clear
- if <def[QNSC].is[==].to[0]> {
- determine "new|load|delete|list"
}
- if <player.flag[nicknames].as_list.alphanumeric.parse[before[/]]> == null {
- queue clear
}
- if <def[QNSC].is[==].to[1]> {
- determine <player.flag[nicknames].as_list.alphanumeric.parse[before[/]]>
}
script:
- if <player.is_op.not> {
- narrate "<red>You don't have permission to use this command!"
- queue clear
}
- choose <context.args.get[1]||null>:
- case new:
- if <player.has_permission[nick.new].not> {
- narrate "<red>You don't have permission to use this command!"
- queue clear
}
- if <c.args.get[2]||true> {
- narrate "<gold>Usage: <white>/nick new <<>Nickname<>> <<>Savename<>>"
- queue clear
}
- if <c.args.get[2].parse_color.length.is[MORE].to[16]||true> {
- narrate "<red>Too many characters in your Nickname! Max is 16!"
- queue clear
}
- if <c.args.get[2].matches[[A-Za-z0-9_&]+].not||true> {
- narrate "<red>Nickname must be Alphanumeric!"
- queue clear
}
- if <c.args.get[3]||true> {
- narrate "<gold>Usage: <white>/nick new <<>Nickname<>> <<>SaveName<>>"
- queue clear
}
- if <c.args.get[3].parse_color.length.is[MORE].to[10]||true> {
- narrate "<red>Too many characters in your SaveName! Max is 10!"
- queue clear
}
- if <player.flag[nicknames].as_list.size.is[MORE].than[4]> {
- narrate "<red>Only 5 saves are allowed! Do /nick delete to delete old saves."
- queue clear
}
- if <player.flag[nicknames].map_get[<c.args.get[2]>]> != null {
- narrate "<&c>That savename already exists!"
- queue clear
}
- flag player nicknames:->:<c.args.get[3]>/<c.args.get[2]>
- narrate "<green>Saved <context.args.get[2].parse_colors><green> under the name <context.args.get[3]>!"
- case load:
- if <player.has_permission[nick.load].not> {
- narrate "<red>You don't have permission to use this command!"
- queue clear
}
- if <c.args.get[2]||true> {
- narrate "<gold>Usage: <white>/nick load <<>SaveName<>>"
- queue clear
}
#- if <c.args.get[2].parse_color.length.is[MORE].to[10]||true> {
# - narrate "<red>Too many characters in your SaveName! Max is 10!"
# - queue clear
#}
- if <player.flag[nicknames].map_get[<c.args.get[2]>]||true> {
- narrate "<&c>That nickname doesn't exist!"
- queue clear
}
- run nick instantly def:<player>|<player.flag[nicknames].map_get[<c.args.get[2]>].parse_colors>
- narrate "<green>Set nickname to <player.flag[nicknames].map_get[<c.args.get[2]>]>!"
- flag player Currentnick:<c.args.get[2]>
- case list:
- if <player.has_permission[nick.list].not> {
- narrate "<red>You don't have permission to use this command!"
- queue clear
}
- if <player.flag[nicknames].size> == 0 {
- narrate "<&c>You have no saved nicknames!"
- queue clear
}
- narrate <green><player.flag[nicknames].as_list.alphanumeric.separated_by[<&nl><green>].replace[/].with[<&co><&sp>].parse_colors>
- case delete:
- if <player.has_permission[nick.delete].not> {
- narrate "<red>You don't have permission to use this command!"
- queue clear
}
- if <c.args.get[2].parse_color.length.is[OR_LESS].to[0]||true> {
- narrate "<gold>Usage: <white>/nick delete <<>SaveName<>>"
- queue clear
}
#- if <c.args.get[2].parse_color.length.is[MORE].to[3]||true> {
# - narrate "<red>Too many characters in your SaveName! Max is 3!"
# - queue clear
#}
- if <player.flag[nicknames].map_get[<c.args.get[2]>]||true> {
- narrate "<red>That SaveName doesn't exist! Do /nick list to see ones that do."
- queue clear
}
- if <player.has_flag[s]> {
- flag player s:1
- while <player.flag[nicknames].map_get[<player.flag[s].as_int>].is[!=].to[null]> {
- flag player s:++
}
}
- flag player nicknames:<-:<c.args.get[2]>/<player.flag[nicknames].map_get[<c.args.get[2]>]>
- narrate "<green>Successfully removed <c.args.get[2]>!"
- case save:
- if <player.has_permission[nick.save].not> {
- narrate "<red>You don't have permission to use this command!"
- queue clear
}
- if <player.flag[nicknames].as_list.size.is[MORE].than[4]> {
- narrate "<red>Only 5 saves are allowed! Do /nick delete to delete old saves."
- queue clear
}
- define display_name1 <player.name.display>
- foreach <server.list_permission_groups> {
- define display_name1 <def[display_name1].replace[<server.group_prefix[<def[value]>].world[<pl.world>].parse_colors>].replace[<server.group_suffix[<def[value]>].world[<pl.world>].parse_colors>]>
}
- while <player.flag[nicknames].map_get[<player.flag[s].as_int>].is[!=].to[null]> {
- flag player s:++
}
- if <player.has_flag[s].not> {
- flag player s:1
}
- flag player nicknames:->:<player.flag[s].as_int>/<def[display_name1]>
- narrate "<green>Saved <def[display_name1]><green> under the name <player.flag[s].as_int>!"
- default:
- if <player.has_permission[nick]> && <player.has_permission[nick.new].not> && <context.args.size.is[==].to[0]> {
- narrate "<gold>Usage: <white>/nick <<>Nickname<>>"
- queue clear
}
- if <player.has_permission[nick]> && <player.has_permission[nick.new]> && <c.args.size.is[==].to[1].not> {
- narrate "<gold>Usage: <white>/nick new/load/delete/list/<<>Nickname<>>"
- queue clear
}
- if <player.has_permission[nick].not> {
- narrate "<red>You don't have permission to use this command!"
- queue clear
}
- if <c.args.get[1].contains_any[&k|&l|&o|&n|&m]> && <player.has_permission[nick.formatcodes].not> {
- narrate "<red>You don't have permission to use formatting codes!"
- queue clear
}
- if <c.args.get[1].matches[[A-Za-z0-9_&]+].not||true> {
- narrate "<red>Nickname must be Alphanumeric!"
- queue clear
}
- if <c.args.get[1].parse_color.length.is[MORE].to[16]||true> {
- narrate "<red>Too many characters in your Nickname! Max is 16!"
- queue clear
}
- run Nick instantly def:<player>|<c.args.get[1]>
- narrate '<green>Set Nickname to <c.args.get[1]>'
QuicknickWorld:
debug: false
type: world
events:
on player joins:
- if <player.has_flag[Currentnick]> {
- run nick def:<player>|<player.flag[nicknames].map_get[<pl.flag[Currentnick]>].parse_colors>
}
Nick:
debug: true
type: task
script:
- define Prefix li@
- define Suffix li@
- foreach <player.groups> {
- define Prefix '<def[Prefix].include[<server.group_prefix[<def[value]>]>]>'
- define Suffix '<def[Suffix].include[<server.group_suffix[<def[value]>]>]>'
}
- adjust p@<def[1]> display_name:<def[Prefix].separated_by[<&r>].parse_colors><&r><def[2].parse_colors><&r><def[Suffix].separated_by[<&r>].parse_colors><&r>
#- run nick def:<Player>|<nick>