-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathbossArena.sk
214 lines (182 loc) · 10.1 KB
/
bossArena.sk
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
# made by DoDAON from YUMC
# github: https://github.com/DoDAON
# mail: ekdhs402@naver.com
#>include "AASKH_party.sk"
#>include "AASKH_region.sk"
#>include "AASKH_ui.sk"
#>include "AASKH_stdlib.sk"
#CHECK THIS OPTIONS
options:
thisWorld : "pvpArena"
regionArena1 : "bossarenano1"
regionArena2 : "bossarenano2"
entranceNPC : "보스아레나"
exitNPC : "안내요원"
on rightclick:
if "%clicked entity%" contains {@entranceNPC}:
addInventory(1, player, "&0&0&0&5&r&0위더 보스 입장")
set {_rgListOne} to "%{@regionArena1}%||%{@regionArena2}%"
set {_rgList::*} to {_rgListOne} split at "||"
set {_checkPlayerIn} to false
loop {_rgList::*}:
if loop-value is {@regionArena1}:
set {_arenaIndex} to 1
else if loop-value is {@regionArena2}:
set {_arenaIndex} to 2
set {_checkPlayerIn} to checkPlayerIn(loop-value)
if {_checkPlayerIn} is true:
addSlotItem({_arenaIndex} - 1, player, barrier, "&0&0&0&5&r&4아레나 %{_arenaIndex}%", "&e이미 파티가 전투중입니다.")
else if {_checkPlayerIn} is false:
addSlotItem({_arenaIndex} - 1, player, iron sword, "&0&0&0&5&r&b아레나 %{_arenaIndex}%", "&7클릭 시 함께할 파티를 선택합니다.")
on rightclick:
if player's world is {@thisWorld}:
if "%clicked entity%" contains {@exitNPC}:
addInventory(1, player, "&0&0&0&5&r&0중앙도서관으로 돌아갈까?")
loop 4 times:
addSlotItem(loop-value - 1, player, lime stained glass pane, "&0&0&0&5&r&a돌아가자!!", "&7스폰으로 돌아갑니다.")
loop 4 times:
addSlotItem(loop-value + 4, player, red stained glass pane, "&0&0&0&5&r&c잠시 머무르자", "고민해보는 것도 좋지")
addSlotItem(4, player, skull of player, "&0&0&0&5&r&f%{nick::%uuid of player%}%", "&7어떻게 할까??")
on inventory click:
if name of current inventory contains "&0&0&0&5&r":
cancel event
set {_player} to uuid of player
set {_slotIndex} to 0
if clicked item is compass named "&0&0&0&5&r&b귀환":
close player's inventory
execute console command "/spawn %player%"
#> 아레나 선택
else if clicked item is iron sword named "&0&0&0&5&r&b아레나 1":
close player's inventory
addInventory(1, player, "&0&0&0&5&r&0함꼐 할 파티를 선택해주세요.")
loop {partylist::%{_player}%::*}:
set {_party} to loop-value
if {party::%loop-value%::owner} is {_player}:
addSlotItem({_slotIndex}, player, book, "&1&0&0&5&r&b%{_party}% / 1", "&7클릭 시 파티원을 아레나에 호출합니다.")
else:
addSlotItem({_slotIndex}, player, barrier, "&1&0&0&5&r&4%{_party}% / 1", "&e해당 파티의 파티장이 아닙니다.")
add 1 to {_slotIndex}
else if clicked item is iron sword named "&0&0&0&5&r&b아레나 2":
close player's inventory
addInventory(1, player, "&0&0&0&5&r&0함꼐 할 파티를 선택해주세요.")
loop {partylist::%{_player}%::*}:
set {_party} to loop-value
if {party::%loop-value%::owner} is {_player}:
addSlotItem({_slotIndex}, player, book, "&2&0&0&5&r&b%{_party}% / 2", "&7클릭 시 파티원을 아레나에 호출합니다.")
else:
addSlotItem({_slotIndex}, player, barrier, "&2&0&0&5&r&4%{_party}% / 2", "&e해당 파티의 파티장이 아닙니다.")
add 1 to {_slotIndex}
#> 나가기 선택
else if clicked item is lime stained glass pane named "&0&0&0&5&r&a돌아가자!!":
close player's inventory
message "&e■ 3초 후 스폰으로 이동합니다..." to player
send title "&e스폰으로 이동 중" to player for 3 seconds with fadein 0 second and fade out 0 second
wait 1 seconds
send title "&e스폰으로 이동 중." to player for 3 seconds with fadein 0 second and fade out 0 second
wait 1 seconds
send title "&e스폰으로 이동 중.." to player for 3 seconds with fadein 0 second and fade out 0 second
wait 1 seconds
if player's vehicle is set:
message "&c■ 어딘가에 앉아서 사용할 수 없는 명령어입니다." to player
stop
else:
execute console command "/spawn %player%"
message "&e■ 스폰으로 이동하였습니다" to player
else if clicked item is red stained glass pane named "&c잠시 머무르자":
close player's inventory
#>파티 선택
loop {partylist::%{_player}%::*}:
if clicked item is book named "&1&0&0&5&r&b%loop-value% / 1":
loop {party::%loop-value-1%::members::*}:
set {_player} to uuidToUsername(loop-value-2)
waitInformation({_player}, "&e", "1번 아레나로")
close {_player}'s inventory
wait 3 seconds
doTeleportMyParty(loop-value-1, -262.5, 95, -189.5, {@regionArena1}, {@thisWorld}, "&4경고!! &r&e이미 다른 파티가 전투 중에 있습니다!")
wait 1 ticks
loop {party::%loop-value-1%::members::*}:
set {_player} to uuidToUsername(loop-value-2)
if "%region at {_player}%" contains {@regionArena1}:
wait 1 tick
send title "&8어딘가 음산한 기운이 든다..." to {_player} for 3 seconds with fadein 1 second and fade out 1 second
message "&b[TIP]&e중앙도서관으로 돌아가려면 &a안내요원&e을 찾아가세요." to {_player}
message "&4[주의]&e중간에 접속 종료, 아레나 탈출, 죽음 등의 이유로 벗어난다면 타인이 보스를 잡을 수 있습니다." to {_player}
setBlock({@thisWorld}, soul sand, -262, 96, -210)
setBlock({@thisWorld}, soul sand, -262, 97, -210)
setBlock({@thisWorld}, soul sand, -263, 97, -210)
setBlock({@thisWorld}, soul sand, -261, 97, -210)
else if clicked item is book named "&2&0&0&5&r&b%loop-value% / 2":
loop {party::%loop-value-1%::members::*}:
set {_player} to uuidToUsername(loop-value-2)
waitInformation({_player}, "&e", "2번 아레나로")
close {_player}'s inventory
wait 3 seconds
doTeleportMyParty(loop-value-1, 104.5, 83, 39.5, {@regionArena2}, {@thisWorld}, "&4경고!! &r&e이미 다른 파티가 전투 중에 있습니다!")
wait 1 ticks
loop {party::%loop-value-1%::members::*}:
set {_player} to uuidToUsername(loop-value-2)
if "%region at {_player}%" contains {@regionArena2}:
wait 1 tick
send title "&8어딘가 음산한 기운이 든다..." to {_player} for 3 seconds with fadein 1 second and fade out 1 second
message "&b[TIP]&e중앙도서관으로 돌아가려면 &a안내요원&e을 찾아가세요." to {_player}
message "&4[주의]&e중간에 접속 종료, 아레나 탈출, 죽음 등의 이유로 벗어난다면 타인이 보스를 잡을 수 있습니다." to {_player}
setBlock({@thisWorld}, soul sand, 59, 81, 5)
setBlock({@thisWorld}, soul sand, 59, 82, 5)
setBlock({@thisWorld}, soul sand, 59, 82, 6)
setBlock({@thisWorld}, soul sand, 59, 82, 4)
#> 부수기 방지
on break:
if player is not op:
if "%event-block%" does not contain "wither skeleton":
if "%region at event-block%" contains {@regionArena1}:
cancel event
else if "%region at event-block%" contains {@regionArena2}:
cancel event
else if event-entity is wither:
if "%region at event-block%" contains {@regionArena1}:
cancel event
else if "%region at event-block%" contains {@regionArena2}:
cancel event
#> 설치 방지
on place:
if player is not op:
if player's held item is not wither skeleton skull:
if "%region at event-block%" contains {@regionArena1}:
cancel event
else if "%region at event-block%" contains {@regionArena2}:
cancel event
#> 지역 폭발 방지
on explode:
if "%region at player%" contains {@regionArena1}:
cancel event
else if "%region at player%" contains {@regionArena2}:
cancel event
#> 위더 처치 시 경험치 지급
on death of wither:
loop all players:
if "%region at loop-value%" contains {@regionArena1}:
if "%region at damager%" contains {@regionArena1}:
set {_n} to 482
add {_n} to xp of loop-value
send title "&f불안한 기운이 사라져간다." to loop-value for 3 seconds with fadein 2 second and fade out 2 second
else if "%region at loop-value%" contains {@regionArena2}:
if "%region at damager%" contains {@regionArena2}:
set {_n} to 482
add {_n} to xp of loop-value
send title "&f불안한 기운이 사라져간다." to loop-value for 3 seconds with fadein 2 second and fade out 2 second
#> 이동 보호
on command "/s":
if player's world is {@thisWorld}:
cancel event
on command "/h":
if player's world is {@thisWorld}:
cancel event
on command "/h1":
if player's world is {@thisWorld}:
cancel event
on command "/hh":
if player's world is {@thisWorld}:
cancel event
on command "/h2":
if player's world is {@thisWorld}:
cancel event