스크립트내놔라
대표칭호 없음
이해도 | 초보자 |
---|---|
게임버전 (JE) | 1.20.1 |
게임버전 (BE) | 관련없음 |
스크립트 버전 | sk 2.73 |
제가 도망자라는 배열 변수에 3명이 들어가도록 해 놨는데요 그 배열 변수에 2명 이 들어가도 그냥 3번은 "" 이렇게 해 놨고요
이제 술래가 모든 도망자를 잡아서 죽이면 이기게 할려고 했는데
every 1 second:
if {관전.%{도망::*}%} is true:
message "테스트 완료" to all players
초보라서 이런 식으로 짰는데 관전(개인) 이라는 게 죽으면 true가 되는 거고 도망이 배열 변수 에요.
모든 사람의 관전이 true가 되면 저 메시지를 보내도록 한 걸로 아는데 작동이 안되어서 여쭈어 봅니다
꿈틀
2024.01.21every 1 second:
if {게임중} is not true:
exit
set {_playerLeft} to false
loop all players:
if {관전.%{도망::%loop-player%}%} is false:
set {_playerLeft} to true
exit loop
if {_playerLeft} is false:
message "테스트 완료" to all players
clear {게임중}
게임중임을 확인하는 변수 하나를 만드셔서 위와 같은 형식으로 만드시면 될 것 같네요. 없어도 기능상으로는 문제가 되지는 않지만, every n seconds 이벤트문이 많이 사용했을 때 서버에 그리 좋지는 않기에 게임중일 때에만 작동되도록 하는것이 서버에 부하가 덜 갈겁니다
skript에서는 배열변수 전체({변수명::*})를 이용하는 것은 clear하는 것 외에는 할 수 없습니다. 따라서 루프를 돌려서 처리해주어야 합니다
슈퍼레몬
2024.01.21{도망::*} 는 개인의 이름 하나하나가 아닌 이름1,이름2 로 출력됩니다
질문자님이 원하시는 스크립트를 만드시려면
이게 별로 효율적이지는 않습니다만, 지금 생각나는게 이것밖에 없어 적어봅니다. 도망자도 2명이여서 크게 상관은 없을듯 합니다...