개인 자료란 (JE)

  서버 커뮤니티

Profile OuO_Chaton 대표칭호 없음

OuO_Chaton e42a6f60e18d43eeae9cab2397ed5f2f

Profile

질문하기 커맨드

커맨드에 딜레이를 넣는법?

2022.08.16 조회 수 1762 추천 수 0
이해도 초보자(스크립트 구성요소나 기본문법은 알아요) 
게임버전 (JE) 1.19 
게임버전 (BE) 관련없음 

현재 제가 만들고 있는 것이 특정 아이템을 특정 칸에 넣을 경우, 버프가 지급되는 형식인데

어떻게 커맨드를 작성해야 아이템을 넣으면 버프가 들어오고 버프 효과가 정상적으로 작동할 수 있을까요 ?

지금 무한 지급으로 하였더니 저항이나 신속, 힘 등은 제대로 작동 되는데 재생 효과가 제대로 작동하지 않아서 질문 올려봅니다 !

재생 효과는 딜레이를 넣으면 해결된다고 하는데, 딜레이를 어떻게 넣을 수 있는지 궁금합니다. 

혹여나 유저의 버프 소지 유무를 감지할 수 있다면 어떻게 하는지 배워보고 싶습니다 !




3개의 댓글

제작대
2022.08.17

시간을 긴 시간 동안 지급 한 뒤 그 칸에 그 아이템이 없는 것을 감지하셔서 이펙트를 지우시면 될 것 같아요!!

 

effect give @s <효과> 9999 1 true

 

effect clear @s <효과>

OuO_Chaton
2022.08.17
@제작대

그러면 어떻게 아이템을 가진것을 인식할 수 있을까요?

반복형 항상 활성화로 안하면 안될거 같네요.ㅜㅜ

제작대
2022.08.17
@OuO_Chaton

execute as @a[nbt={Inventory:[{id:"minecraft:<아이템>",Count:1b,Slot:<슬롯 숫자>}]}] run <명령어>

 

그리고 딜레이를 넣을 때 레드스톤 회로(레드스톤 중계기)를 쓰시거나 스코어보드를 이용하셔도 될 것 같아요!

 

이런 방법이 예시입니다!

execute as @a[nbt={Inventory:[{id:"minecraft:<아이템>",Count:1b,Slot:<슬롯 숫자>}]}] run setblock <다른 커맨드 좌표> redstone_block

 

그리고 다른 커맨드에

effect give @a[nbt={Inventory:[{id:"minecraft:<아이템>",Count:1b,Slot:<슬롯 숫자>}]}] regeneration 9999 1 true

 

그 다음에 레드스톤 중계기를 쓰셔서 딜레이를 만드신 다음

effect clear @a regeneration

 

이렇게 쓰시면 될 것 같아요!