게임버전 (JE) | 기타 |
---|---|
게임버전 (BE) | 버킷 |
options:
c: &a&l[땅] &f설치권
command /땅지급:
permission: land.op
trigger:
give 1 of red wool named "{@c}" to player
command /땅 [<text>] [<player>]:
trigger:
if arg 1 is not set:
send ""
send "{@c} 은 마인리스트 또는 이벤트, 상점에서 얻을 수 있으며, 1개만 설치가 가능합니다"
send ""
send "&a&l[땅]&f 범위 안에서는 &4&lPvp, 블럭설치,파괴, 상자 &f등 상호작용이 불가능 합니다"
send " 단, 땅주인은 Pvp를 제외 한 모든 상호작용 가능"
send ""
send "&a&l[땅] &f/땅 &e초대 &c[&f닉네임&c] &f- 자신의 땅에 플레이어를 초대합니다."
send "&a&l[땅] &f/땅 &e제거 &c[&f닉네임&c] &f- 자신의 땅에 플레이어를 제거합니다."
send ""
if arg 1 is "초대":
if arg 2 is set:
loop {땅::*}:
if loop-value is player:
add arg 2 to {땅권한.%player%::*}
send "{@c} &f당신의 땅에 해당 플레이어를 추가하였습니다."
stop
send "{@c} &f당신의 땅이 존재하지 않습니다."
stop
if arg 1 is "제거":
if arg 2 is set:
loop {땅권한.%player%::*}:
if loop-value is arg 2:
delete {땅권한.%player%::%loop-index%}
set {땅권한.%player%::*} to {땅권한.%player%::*}
send "{@c} &f당신의 땅에 해당 플레이어를 제거하였습니다."
stop
send "{@c} &f당신의 땅에 해당 플레이어가 존재하지 않습니다."
stop
on place:
if {땅범위.%player%::*} is not set:
if name of player's tool is "{@c}":
set {_땅} to event-location
loop {땅::*}:
set {_범위1} to {땅범위.%loop-value%::1}
set {_범위2} to {땅범위.%loop-value%::2}
add 48 to x-coord of {_범위1}
remove 48 from z-coord of {_범위1}
remove 48 from x-coord of {_범위2}
add 48 to z-coord of {_범위2}
if x coordinate of {_땅} is between x coordinate of {_범위1} and x coordinate of {_범위2}:
if z coordinate of {_땅} is between z coordinate of {_범위1} and z coordinate of {_범위2}:
#loop {땅권한.%loop-value%::*}:
#if loop-value-2 is player:
# set {_범위1} to event-location
# set {_범위2} to event-location
#
# add 24 to x-coord of {_범위1}
# remove 24 from z-coord of {_범위1}
#
# remove 24 from x-coord of {_범위2}
# add 24 to z-coord of {_범위2}
#
# add player to {땅::*}
# add player to {땅권한.%player%::*}
# add loop-value-1 to {땅권한.%player%::*}
# set {땅범위.%player%::1} to {_범위1}
# set {땅범위.%player%::2} to {_범위2}
#
# send "{@c} &f당신의 땅이 설정되었습니다."
# stop
cancel event
send "{@c} &f근처에 다른 땅이 존재해 설치할 수 없습니다."
stop
set {_범위1} to event-location
set {_범위2} to event-location
add 24 to x-coord of {_범위1}
remove 24 from z-coord of {_범위1}
remove 24 from x-coord of {_범위2}
add 24 to z-coord of {_범위2}
add player to {땅::*}
add player to {땅권한.%player%::*}
set {땅범위.%player%::1} to {_범위1}
set {땅범위.%player%::2} to {_범위2}
send "{@c} &f당신의 땅이 설정되었습니다."
stop
else:
stop
on break:
set {_땅} to event-location
loop {땅::*}:
if x coordinate of {_땅} is between x coordinate of {땅범위.%loop-value%::1} and x coordinate of {땅범위.%loop-value%::2}:
if z coordinate of {_땅} is between z coordinate of {땅범위.%loop-value%::1} and z coordinate of {땅범위.%loop-value%::2}:
loop {땅권한.%loop-value%::*}:
if loop-value-2 is player:
uncancel event
stop
cancel event
send "{@c} &f당신은 이 땅에 대한 권한이 없습니다. "
stop
on damage:
if attacker is player:
set {_땅} to event-location
loop {땅::*}:
if x coordinate of {_땅} is between x coordinate of {땅범위.%loop-value%::1} and x coordinate of {땅범위.%loop-value%::2}:
if z coordinate of {_땅} is between z coordinate of {땅범위.%loop-value%::1} and z coordinate of {땅범위.%loop-value%::2}:
loop {땅권한.%loop-value%::*}:
if loop-value-2 is player:
uncancel event
stop
cancel event
send "{@c} &f당신은 이 땅에 대한 권한이 없습니다." to attacker
stop
on place:
set {_땅} to event-location
loop {땅::*}:
if x coordinate of {_땅} is between x coordinate of {땅범위.%loop-value%::1} and x coordinate of {땅범위.%loop-value%::2}:
if z coordinate of {_땅} is between z coordinate of {땅범위.%loop-value%::1} and z coordinate of {땅범위.%loop-value%::2}:
loop {땅권한.%loop-value%::*}:
if loop-value-2 is player:
uncancel event
stop
cancel event
send "{@c} &f당신은 이 땅에 대한 권한이 없습니다."
stop
페이퍼 타이밍 뷰어로 확인 시 해당 스크립트를 사용 하면 핑이 유발 되는데 어떻게 해결 해야 할까요 ?
거너아나
2022.02.281. 여기는 javascript입니다 게시물을 스크립트 질문으로 옮겨주세요
2. 보통 이런건 loop문 때문에 랙이 발생하니 if {땅권한.%loop-value%::*} contains player: 하면 됩니다
HAN1110
2022.02.28@허두
이거 스크립트로 옴겨주세요