개인 자료란 (JE)

  서버 커뮤니티

Profile 이윤상 대표칭호 없음
Profile

질문하기 스크립트

어느 구역에 플레이어 한명만 들어가게 하고 싶습니다

2021.03.22 조회 수 88 추천 수 0
이해도 1.12 
게임버전 (JE) 페이퍼 
게임버전 (BE) 월드 가드 플러그인 
스크립트 애드온 2.5.3 

on enter "treetest1":
    if 1 player is in the region "treetest1":
        cancel event
        message "들어갈 수 없습니다"

오류 문장: Can't compare an entity type with 'in the region "treetest1"' (실험3.sk, line 101: if 1 player is in the region "treetest1":')


어느 한 구역에 플레이어 한명만 들어가게 할 수는 없는건가요?




1개의 댓글

스크립터브혼
2021.03.22

특정 구역에 몇명의 플레이어가 있는지 확인하려면 두가지 값이 필요합니다. 구역과 플레이어죠.

이 중 데이터에 접근할 키, 다시말하면 주최가 되는 데이터가 어떤것인가를 결정해야합니다.


만약 플레이어가 어떤 구역에 있는지 알고싶다면, 플레이어가 키가 되고 플레이어로 접근 할수 있는 데이터에 구역 정보를 저장해야 합니다.

질문 주신 특정 구역에 플레이어가 있는지 확인하려면, 구역이 키가 되어 구역 정보로 접근 할 수 있는 데이터에 플레이어 정보를 저장해야합니다.


On Enter 이벤트에서 [Region]익스프레션으로 구역 데이터를 받아 올 수 있습니다.
구역 데이터를 변수 이름으로하여 플레이어 데이터를 저장하세요.
플레이어가 한명이어야 한다는 것은 여러 플레이어 중 한명의 플레이어를 특정해야하기 때문에
플레이어를 구분할 수 있는 데이터가 필요합니다. 이것은 닉네임, UUID 등 여러가지가 있겠죠.

> set {region::%region%} to uuid of player

이벤트가 동작할 때, 위에서 말한 '구역 데이터로 접근 가능한 변수'에 '플레이어를 구분할 수 있는 데이터'를 저장해 두었다가

다시 동작할 때, 해당 변수의 값이 있는지를 비교하면 됩니다.

> {region::%region%} is set

> cancel event

On Enter 이벤트가 취소되면 플레이어는 접근 할 수 없게 됩니다.


반대로 플레이어가 나가게 된다면 변수를 제거해야겠죠.

> set {region::%region%}

뉴스 및 창작물
/files/thumbnails/576/775/003/262x150.crop.jpg?20240426232553

아티클

이달의 블록: 단단한 진흙

학교가기싫다

2024-04-26

0

/files/thumbnails/115/774/003/262x150.crop.jpg?20240428135129

업데이트

마인크래프트 1.20.5 정식 업데이트

학교가기싫다

2024-04-24

0

/files/thumbnails/762/770/003/262x150.crop.jpg?20240418073724

레드스톤

T.B.H (고민중독) | 노트블럭 버전 | NoteBlock Cover [한국어 영어 중국어 가사 추가]

노트블럭전문가

2024-04-18

0

/files/thumbnails/218/767/003/262x150.crop.jpg?20240412130213

레드스톤

우리의 꿈 - 원피스 오프닝

노트블럭전문가

2024-04-12

0

/files/thumbnails/505/766/003/262x150.crop.jpg?20240411122306

레드스톤

기동전사 건담 수성의 마녀 | 노트블럭 커버 1

노트블럭전문가

2024-04-11

1