개인 자료란 (JE)

  서버 커뮤니티

Profile 완출이 대표칭호 없음

jjun0930 d480a0d6393e40d48a234d53701faa29

Profile

질문하기 스크립트

왜 작동을 안하는 지 모르겠습니다.

25 일 전 조회 수 37 추천 수 0
이해도 중급자 
게임버전 (JE) 1.20.1 
게임버전 (BE) 관련없음 
스크립트 버전 가장 최신 

랜덤 팀 스크립트.sk

간단하게 설명하면 플레이어 수에 맞춰서 랜덤으로 팀을 짜주는 플러그인입니다.
어째서 인 지 모르겠지만 팀 명령어를 사용해 팀에 참가시키고 이름 색을 변경해도 버킷 서버에는 변경된 게 표시되지 않는 문제가 있습니다.

그래서 플레이어 팀 색에 맞추어서 setPlayerListName을 사용해서 이름 색을 변경해주었습니다.
그런데 또 이게 나갔다 들어오면 다시 풀리는 문제가 있습니다.

그래서 이걸 해결하기 위해서 39번 줄에 플레이어마다 PlayerTeam이라는 변수를 부여해서 플레이어가 접속 할 때 이 값을 확인해서 그 값에 맞는 색을 부여해주고 싶은데 어째서 인 지  변수가 저장이 되질 않습니다.


긴 글 읽어주셔서 감사하고 너그럽게 알려주세요. (찡긋)



7개의 댓글

코코냐
25 일 전

로컬 변수로 저장해서 그렇습니다. 전역 변수로 재정의해주세요.

@코코냐

전역 변수로 재정의 했는데도 문제가 해결되지 않아, 몇 가지 테스트를 해봤는데 스크립트 자체의 오류가 의심됍니다.

출력값이 이렇게 나옵니다.
jjun0930 (제 닉네임입니다.)
<none>


코코냐
24 일 전
@완출이

이번 코드는 그냥 잘못짜셨습니다. 저 변수가 전역변수라는 가정 하에 두번을 호출해야 그제서야 값이 들어가는 코드입니다.

완출이
24 일 전
@코코냐

답변 감사합니다. 근데 이해가 잘 되지 않습니다.

 

이미 {Player::1}에 jjun0930이라는 변수가 저장이 된 상태입니다.

 

따라서 저 명령어를 실행시키면 {PlayerTeam::jjun0930}에 1이라는 변수가 설정되고,

 

따라서 출력값은 jjun0930과 1이 나와야한다고 생각했습니다.

 

완출이
24 일 전
@완출이

그리고 제가 잘못알고 있는 건지 확인차 여쭈어봅니다.

 

로컬변수가 변수이름 맨 앞에 _를 붙여서 수명이 구문을 동작할 때인 변수를 말하는 것이고

 

전역변수, 즉 글로벌 변수가 _가 붙지 않은 수명이 구문을 동작한 후에도 계속 남아있는 변수를 말하는 걸로 알고 있습니다.

코코냐
24 일 전
@완출이

set으로 잘못봤습니다. Player::1과 player가 같은 값이 맞냐요? (플레이어 명을 데이터에 사용하는 행동은 임시 데이터가 아닌 이상 비권장사항입니다.)

windy_wind
22 일 전

사실 대문자 소문자 오타이면..ㄷㄷ

Player player