완출이
대표칭호 없음
jjun0930 d480a0d6393e40d48a234d53701faa29
이해도 | 중급자 |
---|---|
게임버전 (JE) | 1.20.1 |
게임버전 (BE) | 관련없음 |
스크립트 버전 | 가장 최신 |
랜덤 팀 스크립트.sk
간단하게 설명하면 플레이어 수에 맞춰서 랜덤으로 팀을 짜주는 플러그인입니다.
어째서 인 지 모르겠지만 팀 명령어를 사용해 팀에 참가시키고 이름 색을 변경해도 버킷 서버에는 변경된 게 표시되지 않는 문제가 있습니다.
그래서 플레이어 팀 색에 맞추어서 setPlayerListName을 사용해서 이름 색을 변경해주었습니다.
그런데 또 이게 나갔다 들어오면 다시 풀리는 문제가 있습니다.
그래서 이걸 해결하기 위해서 39번 줄에 플레이어마다 PlayerTeam이라는 변수를 부여해서 플레이어가 접속 할 때 이 값을 확인해서 그 값에 맞는 색을 부여해주고 싶은데 어째서 인 지 변수가 저장이 되질 않습니다.
긴 글 읽어주셔서 감사하고 너그럽게 알려주세요. (찡긋)
코코냐
27 일 전로컬 변수로 저장해서 그렇습니다. 전역 변수로 재정의해주세요.
완출이
26 일 전전역 변수로 재정의 했는데도 문제가 해결되지 않아, 몇 가지 테스트를 해봤는데 스크립트 자체의 오류가 의심됍니다.
출력값이 이렇게 나옵니다.
jjun0930 (제 닉네임입니다.)
<none>
코코냐
26 일 전이번 코드는 그냥 잘못짜셨습니다. 저 변수가 전역변수라는 가정 하에 두번을 호출해야 그제서야 값이 들어가는 코드입니다.
완출이
26 일 전답변 감사합니다. 근데 이해가 잘 되지 않습니다.
이미 {Player::1}에 jjun0930이라는 변수가 저장이 된 상태입니다.
따라서 저 명령어를 실행시키면 {PlayerTeam::jjun0930}에 1이라는 변수가 설정되고,
따라서 출력값은 jjun0930과 1이 나와야한다고 생각했습니다.
완출이
26 일 전그리고 제가 잘못알고 있는 건지 확인차 여쭈어봅니다.
로컬변수가 변수이름 맨 앞에 _를 붙여서 수명이 구문을 동작할 때인 변수를 말하는 것이고
전역변수, 즉 글로벌 변수가 _가 붙지 않은 수명이 구문을 동작한 후에도 계속 남아있는 변수를 말하는 걸로 알고 있습니다.
코코냐
26 일 전set으로 잘못봤습니다. Player::1과 player가 같은 값이 맞냐요? (플레이어 명을 데이터에 사용하는 행동은 임시 데이터가 아닌 이상 비권장사항입니다.)
windy_wind
24 일 전사실 대문자 소문자 오타이면..ㄷㄷ
Player player