개인 자료란 (JE)

  서버 커뮤니티

Profile Intro_T 대표칭호 없음
Profile

질문하기 스크립트

상점 스크립트 구문 오류 set {_item}'s lore to {_lore::*}

2020.12.31 조회 수 617 추천 수 0
이해도 1.12 
게임버전 (JE) 모드버킷 
스크립트 버전 입문자(아무것도 몰라요) 
스크립트 애드온 Skript 2.2-dev37c 

ea85a944448fe9f06a0588aa439b0271.jpg

어떤분이 7월에 올려주신거 답글을 보고 따라 해봤지만 여전히 안되서 다시 여쭤봅니다. 어떻게 하면 좋을지 잘 모르겠어요.. 

8개의 댓글

스크립터브혼
2020.12.31

로어는 1.12 이하 버전과 1.13 이상 버전이 서로 다릅니다.

1.12 이하 버전은 로어를 하나의 텍스트로 가지고 있고, 세로줄 두개"||"를 구분기호로 각각의 줄로 나눕니다.
예를들어 로어가 두줄이면 "첫번째로어||두번째로어" 이와 같은 형태입니다.

1.13 이상 버전은 각각의 줄을 하나의 텍스트로 하여 리스트 형태로 가지고 있습니다.
로어가 두줄이면 "첫번째로어" and "두번째로어" 이와 같은 형태입니다.

질문자 님은 1.12 버전이므로 아이템의 로어를 변경할때 텍스트 리스트가 아닌 하나의 텍스트를 set 해야합니다.
텍스트 리스트를 하나의 텍스트로 합치려면 [Join&Split]의 join 패턴을 사용하세요.
> join %texts% [with %text%]
with %text%로 구분기호를 넣을 수 있습니다.

Intro_T
2020.12.31
@스크립터브혼

제가 지식이 부족하여.. 무슨 말씀 하시는지 이해가 안되옵니다.. T^T

스크립터브혼
2020.12.31
@Intro_T

어느 것이 이해가 안되나요?

Intro_T
2021.01.01
@스크립터브혼

어떻게 바꿔야 하는지 모르겠어요

스크립터브혼
2021.01.01
@Intro_T

제 설명 중에 이해 안되는 것이요.

Intro_T
2021.01.01
@스크립터브혼

텍스트 리스트가 아닌 하나의 텍스트를 set 해야합니다.

텍스트 리스트를 하나의 텍스트로 합치려면 [Join&Split]의 join 패턴을 사용하세요. 를 모르겠어요..

스크립터브혼
2021.01.01
@Intro_T

스크립트는 데이터의 개수에 따라 한개인 경우 싱글 벨류(Single Value), 여러개인 경우 리스트 벨류(List Values)로 나뉩니다.


모든 데이터 타입은 싱글과 리스트 두 형태로 표현 할 수 있습니다.

예를들어 하나의 블록은 block, 여러개의 블록은 blocks. 하나의 좌표는 location, 여러개의 위치는 locations.

변수도  같습니다. 하나의 변수는 {_value}, 여러개의 변수는 {_list::*}의 형태로 씁니다.


아이템의 로어는 1.12 이하에서는 싱글 벨류가 쓰이고, 1.13 이상에서는 리스트 벨류가 쓰입니다.

> set {_item}'s lore to {_lore::*}

이제 이 코드를 보면 {_lore::*}의 형태로 리스트 벨류가 쓰인것을 아실겁니다.

1.12 버전 로어는 싱글 벨류만 필요하므로 오류를 나타내는 것입니다.


그리고,
스크립트는 기다 타른 프로그래밍 언어와 마찬가지로 코드 내에서 사용할 수 있는 코드사전을 제공합니다.
보통 이런 사전을 API문서 또는 API Documents 라고 합니다.

스크립트는 코드를 읽어보시면 아시겠지만 영문법과 비슷하게 표현 할 수 있습니다. 이러한 표현을 패턴이라고 합니다.
언어에서 어순을 바꾸어 표현하는 도치법이 있듯이 스크립트도 그러한 도치가 가능하도록 여러 형태의 패턴을 가지고 있습니다.

[Join&Split]의 join 패턴은 아래와 같습니다.

  • (concat[enate]|join) %texts% [(with|using|by) [[the] delimiter] %text%]
  • split %text% (at|using|by) [[the] delimiter] %text%
  • %text% split (at|using|by) [[the] delimiter] %text%
  • regex split %text% (at|using|by) [[the] delimiter] %text%
  • regex %text% split (at|using|by) [[the] delimiter] %text%

이중 join의 패턴은 첫번째입니다.
> (concat[enate]|join) %texts% [(with|using|by) [[the] delimiter] %text%]
패턴은 괄호로 설명합니다.
대괄호[]는 선택 옵션, 소괄호()는 필수 옵션, 세로선|은 필수 옵션의 종류, 퍼센트%는 타입의 종류 입니다.


> (concat[enate]|join)

이부분을 보면 소괄호이므로 반드시 써야 하는 옵션입니다.
[enate]은 생략해도 되는 옵션입니다.
| 기호로 concat[enate] 와 join이 나누어져 있으므로 둘 중 하나만 쓰면 됩니다.

이 부분의 선택지는 아래와 같습니다.

  • concat
  • concatenate
  • join

마찬가지로 다른 패턴부분에서 생략 가능한 것을 생략하면
> join %tests% with %text%
이렇게 됩니다.
앞의 tests타입의 리스트 벨류 텍스트를 text 구분자를 사용해 싱글 벨류 텍스트로 합쳐주는 코드입니다.

스크립터브혼
2021.01.01
@스크립터브혼

여기서 모든 것을 설명할 순 없습니다.

"마인크래프트 스크립트 변수" "스크립트 강좌" "스크립트 문서" 등의 키워드를 검색해서 자료를 찾아보시기 바랍니다.

뉴스 및 창작물
/files/thumbnails/246/933/003/262x150.crop.jpg?20241204080049

업데이트

[마인크래프트 1.21.4 업데이트]

제작대

2024-12-04

0

/files/thumbnails/477/930/003/262x150.crop.jpg?20241201030912

레드스톤

뉴진스 - Super Shy | 마크 노트블럭 커버

노트블럭전문가

2024-12-01

0

/files/thumbnails/483/916/003/262x150.crop.jpg?20241127115329

레드스톤

[노트블럭 커버] 뉴진스 - ETA 3

노트블럭전문가

2024-11-27

1

/files/thumbnails/150/925/003/262x150.crop.jpg?20241123005717

건축

응답하라 1988 ? 2

팀뉴일리시

2024-11-23

5

/files/thumbnails/761/908/003/262x150.crop.jpg?20241025153749

건축

서울 숭례문(崇禮門) 6

KHC

2024-10-25

2