개인 자료란 (JE)

  서버 커뮤니티

Profile 여름밍 대표칭호 없음

Danpung_ 637ab57435e348c58b3dbd261aefcb5a

Profile

질문하기 스크립트

스크립트 내의 변수를 커맨드에서 사용가능하게 할 수 있을까요?

2020.10.19 조회 수 396 추천 수 0
이해도 1.16 
게임버전 (JE) 페이퍼 
스크립트 애드온 2.4.1 

on rightclick on lime concrete:

    if amount of sponge in inventory of player > 0:

        remove 1 of sponge from player's inventory

        set {_c1.%player%} to random integer from 0 to 1

        if {_c1.%player%} is 0:

            set {_c2.%player%} to "Lyan_"

        if {_c1.%player%} is 1:

            set {_c2.%player%} to "Brown_"

        set {_c3.%player%} to random integer from 1000 to 75000

        set {_c4.%player%} to random integer from 0 to 1

        if {_c4.%player%} is 0:

            broadcast "%{_c2.%player%}% 님이 랜덤 금액 %{_c3.%player%}% 을 잃었습니다."

            execute console command "scoreboard players remove %{_c2.%player%}% money {_c3.%player%}"

            stop

        if {_c4.%player%} is 1:

            broadcast "%{_c2.%player%}% 님이 랜덤 금액 %{_c3.%player%}% 을 얻었습니다."

            execute console command "scoreboard players add %{_c2.%player%}% money {_c3.%player%}"

            stop

    else:

        send " 스폰지 1개가 필요합니다."

        stop


볼드친 부분처럼 마인크래프트 명령어를 Skript에선 execute console command" ~ "에 담아야 한다고 하는데, 혹시 커맨드에 Skript의 변수를 넣을 수있는 방법은 없나요?

항상 질문만 드려 죄송합니다. 늘 수고하십니다 :)

1개의 댓글

스크립터브혼
2020.10.20

명령어에서 입력하는 값은 모두 문자입니다. 명령어가 동작할때 인수로 받은 문자를 숫자나, 다른 타입으로 형변환하여 동작하게 됩니다.
execute 이펙트도 "~" 형태로 받는 이유는 문자열로 명령어의 매개변수를 넘기기 때문이죠.

execute 이펙트로 명령을 한다면 굳이 문자가 아닌것을 문자로 넘겨서 다시 필요한 타입으로 형변할 필요가없습니다.
전역변수로 값을 저장해두었다가  명령어 이벤트에서 해당 변수를 사용하면 됩니다.


예를들면...

set {parameter::1} to "msg1"
set {parameter::2} to "msg2"
execute command "/test.command" by console
delete {parameter::*}

command /test.command:
    trigger:
        {parameter::*} is set
        send {parameter::*} to player

이렇게 명령을 하기전 필요한 값을 전역변수로 세팅하고,
명령을 하고 난 뒤 사용한 전역변수를 제거하는 방식으로 구성할 수 있습니다.

execute 이펙트가 동작하게 되면 명령어를 실행하고 난 뒤 나머지 코드를 마저 실행하기 때문에
예문처럼 구성을 하면 명령어 동작 직후 바로 {paramater::*} 리스트를 지웁니다.

명령어 첫줄에 파라메터변수가 있는지 확인하는 컨디션을 넣어
플레이어나 콘솔에서 명령할 수 없고 오직 스크립트에서만 동작하는 명령어로 만들 수 있습니다.

뉴스 및 창작물
/files/thumbnails/115/774/003/262x150.crop.jpg?20240424234825

업데이트

마인크래프트 1.20.5 정식 업데이트

학교가기싫다

2024-04-24

0

/files/thumbnails/762/770/003/262x150.crop.jpg?20240418073724

레드스톤

T.B.H (고민중독) | 노트블럭 버전 | NoteBlock Cover [한국어 영어 중국어 가사 추가]

노트블럭전문가

2024-04-18

0

/files/thumbnails/218/767/003/262x150.crop.jpg?20240412130213

레드스톤

우리의 꿈 - 원피스 오프닝

노트블럭전문가

2024-04-12

0

/files/thumbnails/505/766/003/262x150.crop.jpg?20240411122306

레드스톤

기동전사 건담 수성의 마녀 | 노트블럭 커버 1

노트블럭전문가

2024-04-11

1

/files/thumbnails/932/765/003/262x150.crop.jpg?20240410124459

레드스톤

마인크래프트 노트블록으로 만든 『 밤양갱 (Bam Yang Gang) 』

노트블럭전문가

2024-04-10

0