느으너앍
대표칭호 없음
Soul_MC 394e8b058b494a24be42a0a304207c31
이해도 | 중급자(필요한 애드온을 찾아서 만들 수 있어요) |
---|---|
게임버전 (JE) | 1.18.2 |
게임버전 (BE) | 관련없음 |
스크립트 버전 | 2.6.1 |
command 투명액자 [<text>]: permission: admin trigger: if arg 1 is not set: set insertion format of {_temp} to "minecraft:give @p item_frame{EntityTag:{Invisible:1b},display:{Name:'[{"text":"투명 액자","italic":false,"color":"gold","bold":true}]',Lore:['[{"text":"투명한 액자를 설치할 수 있다.","italic":false,"color":"#ff9999"}]','[{"text":"부수면 일반 액자가 되니 주의하자.","italic":false,"color":"#ff9999"}]']},Enchantments:[{id:power,lvl:1}],HideFlags:33} 64" send "%{_temp}%" to player #execute player command "%{_temp}%" stop if arg 1 is "빛" or "glow": set insertion format of {_temp} to "minecraft:give @p glow_item_frame{EntityTag:{Invisible:1b},display:{Name:'[{"text":"빛나는","italic":false,"color":"light_purple","bold":true},{"text":" 투명 액자","color":"gold"}]',Lore:['[{"text":"빛나는","italic":false,"color":"light_purple"},{"text":" 투명한 액자를 설치할 수 있다.","italic":false,"color":"#ff9999"}]','[{"text":"부수면 일반 액자가 되니 주의하자.","italic":false,"color":"#ff9999"}]']},Enchantments:[{id:power,lvl:1}],HideFlags:33} 64" send "%{_temp}%" to player #execute player command "%{_temp}%" stop else: send "&b/투명액자 &f: &b투명액자를 64개 지급받는다." to player send "&b/투명액자 &6빛(또는 glow) &f: &b빛나는 투명액자를 64개 지급받는다." to player stop
위 코드를 작성하니
해당 오류가 발생하여 중괄호와 따옴표가 문제가 생각되어
options: aa : minecraft:give @p item_frame{EntityTag:{Invisible:1b},display:{Name:'[{"text":"투명 액자","italic":false,"color":"gold","bold":true}]',Lore:['[{"text":"투명한 액자를 설치할 수 있다.","italic":false,"color":"#ff9999"}]','[{"text":"부수면 일반 액자가 되니 주의하자.","italic":false,"color":"#ff9999"}]']},Enchantments:[{id:power,lvl:1}],HideFlags:33} 64 bb : minecraft:give @p glow_item_frame{EntityTag:{Invisible:1b},display:{Name:'[{"text":"빛나는","italic":false,"color":"light_purple","bold":true},{"text":" 투명 액자","color":"gold"}]',Lore:['[{"text":"빛나는","italic":false,"color":"light_purple"},{"text":" 투명한 액자를 설치할 수 있다.","italic":false,"color":"#ff9999"}]','[{"text":"부수면 일반 액자가 되니 주의하자.","italic":false,"color":"#ff9999"}]']},Enchantments:[{id:power,lvl:1}],HideFlags:33} 64 command 투명액자 [<text>]: permission: admin trigger: if arg 1 is not set: set {_temp} to "{@a}" send "%{_temp}%" to player #execute player command "%{_temp}%" stop if arg 1 is "빛" or "glow": set {_temp} to "{@b}" send "%{_temp}%" to player #execute player command "%{_temp}%" stop else: send "&b/투명액자 &f: &b투명액자를 64개 지급받는다." to player send "&b/투명액자 &6빛(또는 glow) &f: &b빛나는 투명액자를 64개 지급받는다." to player stop
해당 구문 처럼 options 처리를 하여 작동해봤지만
위와 같은 오류가 나왔습니다.
명령어 부분을 TEXT 처리하는 방법은 없을까요?
아니면 복잡한 명령어를 유저 또는 콘솔 차원에서 실행 가능하도록 할 순 없을까요?
코코냐
2022.09.07길어서가 아니라 이스케이핑 처리가 안된겁니다.
느으너앍
2022.09.07제 질문은 긴 명령어 구문 부분을 어떻게 텍스트 처리 할 수 있을까 였습니다
이스케이핑 처리라는건 어떤건지 잘 모르겠습니다.
혹시 설명 가능하실까요?
감자의여유로운한마포
2022.09.07저 구문 안에서는 "를 ""로 '를 ''로 쓰셔야 합니다
느으너앍
2022.09.08그럼 명령어가 제대로 작동하지 않겠군녀..
감자의여유로운한마포
2022.09.08"를 ""로 쓰면 실행 과정에서 제대로 인식합니다
감자의여유로운한마포
2022.09.08명령어 전체를 "로 감쌌기 때문에, 명령어의 내용 중에 있는 "와 이어져 버려 혼란이 생기는 원리입니다.
그래서 스크립트에서 커맨드 명령어를 작성할 때는 내용 안의 모든 "(큰 따옴표)를 ""(두개)로 , '를 ''(작은 따옴표 두 개)로 치환해야 스크립트가 정상으로 인식합니다.
코코냐
2022.09.07텍스트 처리는 제대로 되긴 한겁니다만, 스크립트가 이를 인식하지 못하는 형태로 처리가 된 상태입니다. 이스케이핑 자체에 대해서는 직접 검색해보십시오.
느으너앍
2022.09.08이스케이핑에 대해서 검색했더니 자바 스크립트나 HTML쪽 문서가 나오는데 요것도 참고가 되는걸까요...?
코코냐
2022.09.08방식은 다르지만, 기본적인 개념 자체는 동일합니다.
xAQu
2022.09.08스크립트에서 " , % , # 은 두번씩 입력해야 문자로 입력됩니다.