개인 자료란 (JE)

  서버 커뮤니티

Profile 가우르 대표칭호 없음
Profile

질문하기 스크립트

스크립트 2.7.3 Actionbar, loop-player이용하기 질문입니다.

2023.12.28 조회 수 108 추천 수 0
이해도 초보자 
게임버전 (JE) 1.20.1 
게임버전 (BE) 관련없음 
스크립트 버전 2.7.3 
스크립트 애드온 SKellett, SK-NBeeT, skDragon, skUtilities, skRayFall SkQuery, SharpSK 

send action bar 하고 set action bar 2가지 방법이 있는걸로 하는데. 스크립트 2.7.3, 페이퍼 1.20.2 으로 돌릴시 버킷 오류는 나지 않습니다만. 


every 1 second:

  loop all players:



를 이용하고 이후 변수 A B C의 상황마다 각각 다른 엑션바를 loop player유저들에게 전송되게 만들었는데. 이의 경우 유저 한 사람에게만 전송이 되고. 다른 유저들에게는 전송이 되지않는 현상이 나타나고 있습니다. 이걸 해결해줄 코드를 작성해주시길 부탁 드립니다.

제가 초보라서, 아마. 상위버젼 스크립트부터는 어떻게 바뀌었는지 모르기에 이러고 있는것이라 생각합니다.


아래는 해당부분 코드입니다. 본래는 loop-value 말고 loop-player을 썼었습니다. 다만, 둘 다 결과는 똑같이 유저 1명을 제외하고는 전송이 되질 않습니다.


on every 1 second:

    loop all players:

        if loop-value's world is "Askyblock":        

            stop

        else:

            if {job::%loop-value%} is "농부":

                set loop-value's max health to 10+15

                set action bar of loop-value to "&7&l[ &f&lHP : %(health of loop-value*2)% &7&l] &6&l[ &fLv.%{level농부::%loop-value%}% &6&l] &7&l[ &f경험치 &7&l] &6&l[ &f%{exp농부::%loop-value%}% &6&l/ &f%{@범위값1}*{level농부::%loop-value%}% &6&l] &7&l[ &f직업 &7&l] &6&l[ &f농부 &6&l]"

                wait 6 ticks

                set action bar of loop-value to "&7&l[ &c&lHP : %(health of loop-value*2)% &7&l] &6&l[ &fLv.%{level농부::%loop-value%}% &6&l] &7&l[ &e경험치 &7&l] &6&l[ &f%{exp농부::%loop-value%}% &6&l/ &f%{@범위값1}*{level농부::%loop-value%}% &6&l] &7&l[ &e직업 &7&l] &6&l[ &f농부 &6&l]"

                stop

            if {job::%loop-value%} is "광부":

                set loop-value's max health to 10+15

                set action bar of loop-value to "&7&l[ &f&lHP : %(health of loop-value*2)% &7&l] &9&l[ &fLv.%{level광부::%loop-value%}% &9&l] &7&l[ &f경험치 &7&l] &9&l[ &f%{exp광부::%loop-value%}% &9&l/ &f%{@범위값}*{level광부::%loop-value%}% &9&l] &7&l[ &f직업 &7&l] &9&l[ &f광부 &9&l]"

                wait 6 ticks

                set action bar of loop-value to "&7&l[ &c&lHP : %(health of loop-value*2)% &7&l] &9&l[ &fLv.%{level광부::%loop-value%}% &9&l] &7&l[ &e경험치 &7&l] &9&l[ &f%{exp광부::%loop-value%}% &9&l/ &f%{@범위값}*{level광부::%loop-value%}% &9&l] &7&l[ &e직업 &7&l] &9&l[ &f광부 &9&l]"

                stop

            if {job::%loop-value%} is "없음":

                set action bar of loop-value to "&7&l[&f서버TPS : &e%tps%&7&l] &7&l[ &f직업이 없습니다. 직업을 골라주세요! &7&l]"

                stop

            if {job::%loop-value%} is not set:

                set action bar of loop-value to "&7&l[&f서버TPS : &e%tps%&7&l] &7&l[ &f직업이 없습니다. 직업을 골라주세요! &7&l]"

                stop

2개의 댓글

라아아아밍
2023.12.28

마지막에 stop을 쓰시면 루프 도중에 해당 부분을 끝내기 때문입니다. 첫번째 stop 제외하고 나머지 stop 구문을 지워주시면 됩니다.

가우르
2023.12.28
@라아아아밍

감사합니다.