개인 자료란 (JE)

  서버 커뮤니티

Profile DDaj1n 대표칭호 없음
Profile

질문하기 스크립트

스크립트 랜덤으로 40개를 뽑을때 중복안되게 하는 방법이 있나요?

2021.11.05 조회 수 348 추천 수 0
이해도 초보자(스크립트 구성요소나 기본문법은 알아요) 
게임버전 (JE) 관련없음 
게임버전 (BE) 관련없음 
스크립트 버전 2.6 

Loop 40 times:

  add 1 to {_int}

  set {item::%{_int}%} to random integer between 1 and 740


에서 1에서 740 중 하나를 뽑는건데 뽑은수가 중복이 안되게 할 수 있나요?

3개의 댓글

눙이
2021.11.06
while:
    set {_count} to 1
    set {_int} to random integer between 1 and 740
    if {_count} <= 40:
        if {item::*} does not contain {_int}
            add {_int} to {item::*}
            add 1 to {_count}
    else:
        stop

그리고 변수 목록을 확인할 명령어 하나쯤 있으면 되겠죠?

command /item.int.test:
    trigger:
        loop {item::*}:
            message "%loop-index% : %loop-value%"

밖이라 테스트를 못해서 이론상 구문은 이렇게 될 것 같습니다

테스트 되면 알려드리겠습니다



DDaj1n
2021.11.06
@눙이

답변해주셔서 정말 감사합니다 

그런데

첫 시작부분 while을 아예 못알아먹는거 같습니다

눙이
2021.11.06
@DDaj1n

스크립트 2.6 버전에서 다음과 같은 구문이 정상 작동하는 것을 확인하였습니다

command /int.test:다
    trigger:
        set {_count} to 1
        while {_count} <= 40:
            set {_int} to random integer between 1 and 740
            if {item::*} does not contains {_int}:
                add {_int} to {item::*}
                add 1 to {_count}
#이후부터는 변수 확인용 구문입니다
        loop {item::*}:
            message "%loop-index% : %loop-value%"