스크립트 이름 : P-Group
스크립트 버전 : Skript 2.1.2
필요 에드온 : SkQuery
명령어
/그룹 정보 - 자신이 속해있는 그룹의 정보를 확인합니다.
ㄴ 그룹에 가입되어 있지 않은경우 안되게 해주세요.
/그룹 초대 (닉네임) - (닉네임)을 자신이 속한 그룹으로 초대합니다.
ㄴ 부회장과 회장만이 사용할 수 있습니다.
/그룹 사원 (닉네임) - (닉네임)을 사원으로 만듭니다.
ㄴ 회장만이 부회장에게만 사용할 수 있습니다.
/그룹 부회장 (닉네임) - (닉네임)을 자신이 속한 그룹의 부회장으로 만듭니다.
ㄴ 회장만이 사용할 수 있습니다.
/그룹 수락 - 자신에게 온 초대를 수락합니다.
/그룹 거절 - 자신에게 온 초대를 거절합니다.
/그룹 증설 - 자신이 속해있는 그룹의 최대인원을 1명 늘립니다.
ㄴ 가격은 5,000,000 원이며 회장과 부회장이 사용가능합니다.
/그룹 추방 (닉네임) - 자신의 그룹에 속해있는 (닉네임)을 추방합니다.
ㄴ 부회장과 회장만이 사용할 수 있습니다.
/그룹 탈퇴 - 그룹에서 나갑니다.
ㄴ 사원과 부회장만이 사용이 가능합니다.
(Admin)
/그룹관리 창설 (그룹명) (닉네임) (펄미션) - (닉네임)이 회장인 해당(그룹명)그룹을 창설합니다.
ㄴ 창설시 공지됨 "(닉네임)님이 (그룹명)그룹을 창설하였습니다!
/그룹관리 회장이전 (그룹명) (닉네임) - (그룹명)의 그룹회장을 (닉네임)으로 교체합니다.
ㄴ 기존회장은 그룹에서 탈퇴됩니다.
/그룹관리 해체 (그룹명) - 해당 그룹을 해체합니다.
/그룹관리 정보 (그룹명) - 해당 그룹의 정보를 확인합니다.
/그룹관리 목록 - 생선된 그룹목록을 확인합니다.
/그룹관리 추가/삭제 (그룹명) (닉네임) - (닉네임)을 (그룹명)에 추가하거나 삭제합니다.
/그룹관리 최대인원 (그룹명) (숫자) - (그룹명)의 최대인원을 (숫자)로 설정합니다.
정보
그룹명 : (그룹명)
그룹회장 : (회장닉네임)
그룹부회장 : (부회장닉네임)
그룹사원 : (닉네임)
그룹인원 : (현재인원) / (최대인원)
그룹창설일자 : (날짜)
예시:)
그룹명 : 아쿠아
그룹회장 : 쿠아
그룹부회장 : 루아
그룹사원 : 구아, 수아
그룹인원 : 4 / 4
그룹창설일자 : 2016-10-02
"그룹사원 : "표기(배열)방법은 편하신대로 하셔도 됩니다.
그룹인원은 회장,부회장,사원을 모두 포함한 총 인원입니다.
그외
1. 기본으로 최대인원은 4명입니다.
2. 증설하여 올릴 수 있는 최대인원의 인원수는 24명입니다. (최대인원이 24명이 되면 더 이상 증설이 불가능)
3. 초대로인해 사원 또는 회장이 되었을경우 콘솔에서 /pex user (닉네임) add (펄미션) 을 입력하여 줍니다.
만약 탈퇴,추방이 되었을경우 콘솔에서 /pex user (닉네임) remove (펄미션) 을 입력하여 줍니다.
4. 회장이전시 기존이 회장이였던 사람은 사원이 됩니다.
ㄴ 회사의 사원인 사람만 회장이전이 가능합니다.
명령어/설정/노드
/그룹관리
/그룹
스크립트내에
options:
f: &2[&9P-Group&2]&f
부분을 수정하시면 prefix 수정이 가능합니다.
소스
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
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
|
options:
f: &2[&9P-Group&2]&f # 말머리
command /그룹관리 [<text>] [<text>] [<text>] [<text>]:
permission: op.operator
trigger:
if arg 1 is not set:
message "{@f} /그룹관리 창설 (그룹명) (닉네임) (펄미션)"
message "{@f} /그룹관리 회장이전 (그룹명) (닉네임)"
message "{@f} /그룹관리 해체 (그룹명)"
message "{@f} /그룹관리 정보 (그룹명)"
message "{@f} /그룹관리 목록"
message "{@f} /그룹관리 추가/삭제 (그룹명) (닉네임)"
message "{@f} /그룹관리 최대인원 (그룹명) (최대인원)"
if arg 1 is "추가" or "삭제":
if arg 3 is set:
if "%{company::name::%arg 2%}%" is "%arg 2%":
if arg 1 is "추가":
if "%{company::player::%arg 3%}%" is "<none>":
set {company::player::%arg 3%} to "%arg 2%"
set {company::member::%arg 2%::%arg 3%} to "사원"
message "{@f} 관리자에 의해 %arg 3%님이 %arg 2% 그룹 사원으로 추가됩니다"
message "{@f} 관리자에 의해 %arg 2% 그룹의 사원이 되었습니다" to arg 3 parsed as offlineplayer
make console execute command "pex user %arg 3% add %{company::permission::%arg 2%}%"
if arg 1 is "삭제":
if "%{company::player::%arg 3%}%" is "%arg 2%":
if "%{company::member::%arg 2%::%arg 3%}%" is "사원" or "부사장":
delete {company::member::%arg 2%::%arg 3%}
delete {company::player::%arg 3%}
message "{@f} 관리자에 의해 %arg 3%님이 %arg 2% 그룹에서 삭제되었습니다"
message "{@f} 관리자에 의해 %arg 2% 그룹에서 추방되었습니다" to arg 3 parsed as offlineplayer
make console execute command "pex user %arg 3% remove %{company::permission::%arg 2%}%"
if arg 1 is "정보":
if arg 2 is set:
loop {company::member::%arg 2%::*}:
if "%loop-value%" is "사원":
if "%{_first.%player%}%" is "<none>":
set {_first.%player%} to "%loop-index%"
else:
set {_first.%player%} to "%{_first.%player%}%, %loop-index%"
if "%loop-value%" is "부회장":
if "%{_second.%player%}%" is "<none>":
set {_second.%player%} to "%loop-index%"
else:
set {_second.%player%} to "%{_second.%player%}%, %loop-index%"
if "%loop-value%" is "회장":
set {_thrid.%player%} to "%loop-index%"
message "{@f} ==================== &b정보 &f===================="
message "{@f} &9그룹명: &f%arg 2%"
message "{@f} &4회장: &f%{_thrid.%player%}%"
message "{@f} &c부회장: &f%{_second.%player%}%"
message "{@f} &e사원: &f%{_first.%player%}%"
message "{@f} &a인원: &f%size of {company::member::%arg 2%::*}%/%{company::size::%arg 2%}%"
message "{@f} &9그룹창설일자: &f%{company::created::%arg 2%}%"
if arg 1 is "최대인원":
if arg 3 parsed as integer > 0:
if "%{company::name::%arg 2%}%" is "%arg 2%":
set {company::size::%arg 2%} to arg 3 parsed as integer
message "{@f} %arg 2% 그룹의 최대인원을 %arg 3%명으로 설정"
if arg 1 is "목록":
message "{@f} =============================="
loop {company::name::*}:
add 1 to {_int}
message "&b[%{_int}%] &f%loop-index% 그룹"
if arg 1 is "창설":
if arg 4 is set:
if "%{company::player::%arg 3%}%" is not "<none>":
message "{@f} &c%arg 3%은(는) 이미 소속한 회사가 존재합니다"
stop
if arg 2 is not "<none>":
if "%{company::name::%arg 2%}%" is "<none>":
set {company::name::%arg 2%} to "%arg 2%"
set {company::player::%arg 3%} to "%arg 2%"
set {company::member::%arg 2%::%arg 3%} to "회장"
set {company::size::%arg 2%} to 4
set {company::permission::%arg 2%} to "%arg 4%"
set {_now} to "%now%"
set {_now::*} to {_now} split by " "
replace all "." with "" in {_now::1}
replace all "." with "" in {_now::2}
replace all "." with "" in {_now::3}
set {company::created::%arg 2%} to "20%{_now::1}%-%{_now::2}%-%{_now::3}%"
make console execute command "pex user %arg 3% add %{company::permission::%arg 2%}%"
broadcast "{@f}&4 %arg 3%&a님이&6&l %arg 2%그룹&a을 창설하였습니다"
else:
message "{@f} &c그 이름의 회사가 존재합니다"
if arg 1 is "해체":
if "%{company::name::%arg 2%}%" is "%arg 2%":
broadcast "{@f} 관리자에 의해 %arg 2%그룹이 해체되었습니다"
set {_cname} to "%arg 2%"
loop {company::member::%{_cname}%::*}:
delete {company::player::%loop-index%}
make console execute command "pex user %loop-index% remove %{company::permission::%{_cname}%}%"
delete {company::member::%{_cname}%::*}
delete {company::name::%{_cname}%}
delete {company::want::%{_cname}%::*}
delete {company::permission::%{_cname}%}
delete {company::size::%{_cname}%}
delete {company::created::%{_cname}%}
if arg 1 is "회장이전":
if arg 3 is set:
if arg 2 is "<none>":
stop
if "%{company::player::%arg 3%}%" is "%arg 2%":
loop {company::member::%arg 2%::*}:
if "%loop-value%" is "회장":
set {_best} to "%loop-index%"
set {company::member::%arg 2%::%{_best}%} to "사원"
set {company::member::%arg 2%::%arg 3%} to "회장"
broadcast "{@f} %arg 2%그룹 회장 %{_best}%님이 %arg 3%님에게 회장을 위임했습니다"
else:
message "{@f} &c그 사람은 %arg 2% 그룹사람이 아닙니다"
command /그룹 [<text>] [<text>]:
trigger:
if arg 1 is not set:
message "{@f} /그룹 정보"
message "{@f} /그룹 수락/거절"
message "{@f} /그룹 초대 (닉네임)"
message "{@f} /그룹 추방 (닉네임)"
message "{@f} /그룹 사원 (닉네임)"
message "{@f} /그룹 부회장 (닉네임)"
message "{@f} /그룹 탈퇴/증설"
if "%{company::member::%{company::player::%player%}%::%player%}%" contains "회장":
if arg 1 is "증설":
if {company::size::%{company::player::%player%}%} is not 24:
if player's money >= 5000000:
subtract 5000000 from player's money
add 1 to {company::size::%{company::player::%player%}%}
message "{@f} 5백만원을 지불하고 증설하였습니다"
else:
message "{@f} &c돈이 부족합니다"
else:
message "{@f} &c더이상 증설할 수 없습니다"
if arg 1 is "초대":
set {_arg2} to arg 2 parsed as offlineplayer
if {_arg2} is online:
if "%{company::player::%{_arg2}%}%" is "<none>":
if "%{company::invited::%{_arg2}%}%" is "%{company::player::%player%}%":
message "{@f} &c이미 초대를 했습니다"
stop
if size of {company::member::%{company::player::%player%}%::*} >= {company::size::%{company::player::%player%}%}:
message "{@f} &c그 그룹의 인원은 가득 찼습니다"
stop
message "{@f} &a%{_arg2}%&f님에게 그룹 초대신청을 보냈습니다"
message "{@f} %{company::player::%player%}%그룹으로 부터 초대가 왔습니다 15초후 자동으로 거절됩니다" to {_arg2}
message "{@f} &a/그룹 수락&f, &c/그룹 거절" to {_arg2}
set {company::invitep::%{_arg2}%} to "%player%"
set {company::invited::%{_arg2}%} to {company::player::%player%}
loop 15 times:
if "%{company::invited::%{_arg2}%}%" is not "%{company::player::%player%}%":
stop
wait 1 second
message "{@f} 시간초과로 초대가 거절되었습니다"
delete {company::invited::%{_arg2}%}
else:
message "{@f} &c그 사람은 그룹이 있습니다"
else:
message "{@f} &c그 사람은 온라인이 아닙니다"
if arg 1 is "추방":
if "%{company::member::%{company::player::%player%}%::%arg 2%}%" is "부회장" or "회장":
message "{@f} &c자신 또는 부회장과 회장은 추방을 할 수 없습니다!"
stop
message "{@f} &c%arg 2%님을 그룹에서 추방하였습니다"
message "{@f} &c당신은 그룹에서 추방 당하였습니다" to arg 2 parsed as offlineplayer
make console execute command "pex user %arg 2% remove %{company::permission::%{company::player::%player%}%}%"
delete {company::player::%arg 2%}
delete {company::member::%{company::player::%player%}%::%arg 2%}
if "%{company::member::%{company::player::%player%}%::%player%}%" is "회장":
if arg 1 is "사원":
if arg 2 is set:
if "%arg 2%" is not "%player%":
if "%{company::player::%arg 2%}%" is "%{company::player::%player%}%":
set {company::member::%{company::player::%player%}%::%arg 2%} to "사원"
message "{@f} %arg 2%님은 이제 사원입니다"
message "{@f} 당신은 회장에 의해 사원이 되었습니다" to arg 2 parsed as offlineplayer
if arg 1 is "부회장":
if arg 2 is set:
if "%arg 2%" is not "%player%":
if "%{company::player::%arg 2%}%" is "%{company::player::%player%}%":
set {company::member::%{company::player::%player%}%::%arg 2%} to "부회장"
message "{@f} %arg 2%님은 이제 부회장입니다"
message "{@f} 당신은 회장에 의해 부회장이 되었습니다" to arg 2 parsed as offlineplayer
if arg 1 is "거절":
if "%{company::invited::%player%}%" is "<none>":
message "{@f} &c당신에게 온 초대가 없습니다"
stop
delete {company::invited::%player%}
message "{@f} 거절했습니다"
message "{@f} 초대가 거절되었습니다" to {company::invitep::%player%} parsed as offlineplayer
delete {company::invitep::%player%}
if arg 1 is "수락":
if "%{company::invited::%player%}%" is "<none>":
message "{@f} &c당신에게 온 초대가 없습니다"
stop
if "%{company::name::%{company::invited::%player%}%}%" is "<none>":
message "{@f} &c그 그룹는 존재하지 않습니다"
delete {company::invited::%player%}
delete {company::invitep::%player%}
stop
if size of {company::member::%{company::invited::%player%}%::*} >= {company::size::%{company::invited::%player%}%}:
message "{@f} &c그 그룹는 인원이 가득 찼습니다"
delete {company::invited::%player%}
delete {company::invitep::%player%}
stop
if "%{company::player::%player%}%" is "<none>":
set {company::player::%player%} to {company::invited::%player%}
message "{@f} %player%님께서 그룹에 가입했습니다" to {company::invitep::%player%} parsed as offlineplayer
delete {company::invited::%player%}
delete {company::invitep::%player%}
set {company::member::%{company::player::%player%}%::%player%} to "사원"
message "{@f} %{company::player::%player%}%그룹에 가입했습니다"
make console execute command "pex user %player% add %{company::permission::%{company::player::%player%}%}%"
else:
message "{@f} &c당신은 이미 그룹가 있습니다"
if arg 1 is "정보":
if "%{company::player::%player%}%" is not "<none>":
loop {company::member::%{company::player::%player%}%::*}:
if "%loop-value%" is "사원":
if "%{_first.%player%}%" is "<none>":
set {_first.%player%} to "%loop-index%"
else:
set {_first.%player%} to "%{_first.%player%}%, %loop-index%"
if "%loop-value%" is "부회장":
if "%{_second.%player%}%" is "<none>":
set {_second.%player%} to "%loop-index%"
else:
set {_second.%player%} to "%{_second.%player%}%, %loop-index%"
if "%loop-value%" is "회장":
set {_thrid.%player%} to "%loop-index%"
message "{@f} ==================== &b정보 &f===================="
message "{@f} &9그룹명: &f%{company::player::%player%}%"
message "{@f} &4회장: &f%{_thrid.%player%}%"
message "{@f} &c부회장: &f%{_second.%player%}%"
message "{@f} &e사원: &f%{_first.%player%}%"
message "{@f} &a인원: &f%size of {company::member::%{company::player::%player%}%::*}%/%{company::size::%{company::player::%player%}%}%"
message "{@f} &9그룹창설일자: &f%{company::created::%{company::player::%player%}%}%"
else:
message "{@f} &c당신은 아무 그룹에 소속되어있지 않습니다"
if arg 1 is "탈퇴":
if "%{company::player::%player%}%" is not "<none>":
if "%{company::member::%{company::player::%player%}%::%player%}%" is not "회장":
make console execute command "pex user %player% remove %{company::permission::%{company::player::%player%}%}%"
delete {company::member::%{company::player::%player%}%::%player%}
delete {company::player::%player%}
message "{@f} 당신의 그룹으로부터 탈퇴했습니다"
else:
message "{@f} &c당신은 그룹가 없습니다"
|
cs |