개인 자료란 (JE)

  서버 커뮤니티

Profile 이윤상 대표칭호 없음
Profile

질문하기 스크립트

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

2021.03.22 조회 수 145 추천 수 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/150/925/003/262x150.crop.jpg?20241123005717

건축

응답하라 1988 ?

팀뉴일리시

2024-11-23

3

/files/thumbnails/761/908/003/262x150.crop.jpg?20241025153749

건축

서울 숭례문(崇禮門) 5

KHC

2024-10-25

2

/files/thumbnails/578/899/003/262x150.crop.jpg?20241010142350

건축

경주 월정교 1

KHC

2024-10-10

2

/files/thumbnails/219/899/003/262x150.crop.jpg?20241009200950

건축

송전탑+도시 2

dbasd12

2024-10-09

2

/files/thumbnails/246/898/003/262x150.crop.jpg?20241008102328

레드스톤

단다단 - 오토노케(オトノケ) | 마인크래프트 노트블럭 커버

노트블럭전문가

2024-10-08

1