이해도 | 초보자 |
---|---|
게임버전 (JE) | 1.20.1 |
게임버전 (BE) | 관련없음 |
안녕하세요.
하드코어 서버를 하려고 하는데 스크립트로 부활 커맨드를 만드려고 했습니다.
코드는
on death:
set {death.location.%victim%} to victim's location
add victim to {death.players::*}
command /revive:
trigger:
if size of {death.players::*} is 0:
send "죽은 플레이어가 없습니다." to player
stop
open chest with 3 rows named "&b부활" to player
set {_slot} to 0
loop {death.players::*}:
set {_player} to loop-value
set {_head} to skull of {_player} named "&b%loop-value%" with lore "&r&f클릭하여 부활시키기 (다이아몬드 %{diamond}%개 필요)"
set slot {_slot} of player's current inventory to {_head}
add 1 to {_slot}
if {_slot} is 27:
stop
on inventory click:
if name of event-inventory is "&b부활":
set {_slot} to clicked slot
set {_player} to {death.players::%{_slot}%}
if {_player} is online:
if player has {diamond} of diamond:
remove {diamond} of diamond from player
teleport {_player} to {death.location.%player%}
delete {death.location.%player%}
remove {_player} from {death.players::*}
broadcast "{@sys} %player%님이 %{_player}%님을 부활시켰습니다."
close player's inventory
else:
send "{@sys} 다이아몬드가 부족합니다." to player
else:
send "{@sys} %{_player}%님이 온라인 상태가 아닙니다." to player
cancel event
이렇게 썼습니다.
그런데 작동시켜서 gui안에 플레이어 머리를 누르니 계속 플레이어가 온라인이 아니라고 뜹니다.
해결방법이 있을까요?
사용 애드온은 SkQuery와 SKBee 입니다
windy_wind
19 일 전그거 아시나요? inventory에서 slot은 0번부터 시작합니다. 님이 생각하는 첫번째 슬롯은 clicked slot에서는 0이죠. 따라서 +1를 해보시죠