개인 자료란 (JE)

  서버 커뮤니티

Profile 늘솜보름 정품인증자

JIMIN2457 69b92cf6d9194ba7a57a668b093cb822

Profile

질문하기 스크립트

상자를 부수면 드랍되는 아이템들을 스크립트에서 뭐라고 써야하나요?

2020.11.06 조회 수 579 추천 수 0
이해도 1.16 
게임버전 (JE) 스피곳 
스크립트 애드온 2.5.1 

블럭을 부셔서 나오는 아이템과 상자를 부셔서 나오는 아이템을 clear drops 하고 give 하려고 합니다.


블럭같은 경우에는 검색결과 "give drops of block using player's tool to player" 라는 구문을 사용해서 처리했습니다.


문제는 상자를 부시면 상자 자체는 give 되는데 상자안에 있던 아이템들은 그대로 드랍되서 드랍되는 아이템 자체를 give하고 싶은데


구문을 어떻게 작성 해야하는지 궁금합니다!




5개의 댓글

김새오리
2020.11.06

저의 테스트 버전은 아래와 같습니다.

Paper 1.16.3

Skript 2.5

SkQuery 4.1.3

skRayFall 1.9.23

 

테스트 코드는 아래와 같습니다.

on break of chest or trapped chest:

cancel drops

drop a stone named "&b[ &f드랍테스트 &b]" with lore "&e드랍테스트 입니다."

 

테스트 해보시길 바랍니다.

질문에 대한 정확한 답변은 "cancel drops" 입니다.

 

늘솜보름
2020.11.06
@김새오리

우선 답변감사드립니다.

cancel drops는 드랍된 아이템을 삭제시키는 걸로 알고있습니다.

저는 상자를 부셨을때 나오는 아이템들이 드랍되지않고 인벤토리로 바로 넣어지는 스크립트를 짜고있습니다.

그래서 상자를 부셨을때 ccancel drops 하고 give를 해야하는데 give 할 때 뭐라고 적어야 하는지 궁금한 겁니다.

김새오리
2020.11.06
@늘솜보름

제가 질문을 잘못 읽었군요... ㅠㅠ 죄송합니다.

스크립터브혼
2020.11.06

[Inventory]익스프레션의 패턴을 보면 inventory holders 라고 나와있습니다.
인벤토리 홀더는 단어 그대로 인벤토리를 홀드하고 있는(가지고 있는) 것들을 의미합니다.

플레이어, 말, 좀비와 같이 아이템을 가질 수 있는 엔티티 뿐만 아니라,
월드의 설치된 블록 중 상자, 화로, 인첸테이블 등의 GUI를 사용하는 모든 오브젝트들도 인벤토리 홀더 입니다.
즉, inventory of %block%으로 설치된 블록의 인벤토리를 인벤토리 타입으로 사용할 수 있습니다.


인벤토리에 저장되어 있는 아이템은 [Items In]익스프레션으로 리스트 타입으로 가져올 수 있습니다.

늘솜보름
2020.11.06
@스크립터브혼

원하던 답변 입니다! 감사합니다 ㅠㅠ

뭐라고 검색해야할지 몰라서 chest와 drops 관련해서만 검색하다보니 원하던 정보를 찾지 못했었습니다.

덕분에 한방에 해결완료 입니다!