개인 자료란 (JE)

  서버 커뮤니티

Profile sdfdsr 대표칭호 없음

bl9ckSapphire 86355e6bbe4b483482de818ff64e62da

Profile

질문하기 스크립트

스크립트 질문

2021.05.02 조회 수 166 추천 수 0
이해도 1.16 
게임버전 (JE) 페이퍼 
스크립트 버전 중급자(필요한 애드온을 찾아서 만들 수 있어요) 
스크립트 애드온 2.5.3 

command /hidePlayer:
    trigger:
        if {hide::%player%} is true:
            reveal all players to player
            delete {hide::%player%}
        else:
            hide all players from player
            set {hide::%player%} to true

이런식으로 자신의 시야에서 모든 플레이어가 보이지 않도록 하기위해 구문을써봤습니다.

그런데 tablist 에서도 유저의 닉네임이 사라지게 됩니다. 

tablist 에 뜨는 이름은 사라지지 않게하면서 유저의 모습만 보이지 않게하는 방법이 있나요?


+ 혹시 radius 를 이용해서 특정 반경 이상의 유저만 보이지 않게 하는 것도 가능한가요?




4개의 댓글

스크립터브혼
2021.05.02

스크립트로는 불가능할 것 같습니다. 


특정 반경만 보이게하려면 주기적으로 주편을 계속 탐지해야합니다.

[Entities] 익스프레션의 in radius 패턴으로 주변 일정거리에 해당하는 엔티티만 얻을 수 있습니다.

> all player in radius 5 of %location%

sdfdsr
2021.05.02
@스크립터브혼

감사합니다

sdfdsr
2021.05.17
@스크립터브혼

한가지 더 궁금한게 있습니다.

 

hide player 로 다른 플레이어를 숨겨도 새로 접속하는 유저 또한 계속 가려주기 위해서

Loop 또는 every 등으로 매 초마다 해당 변수를 가지고 있을 시 hide player 구문을 실행시키는 것이 아닌 ,

플레이어가 접속했을때를 감지해서 그 때에만 hide player 구문을 실행시켜주는 것이 가능한가요?

스크립터브혼
2021.05.17
@sdfdsr

[On Join] 이벤트에서 loop all players를 하면 될거같습니다.

all players에 본인도 포함된다는 것도 기억하시구요.