Steamworks 문서
Steam 보관함 아이템 태그
아이템 태그는 Steam을 통해 보관함과 장터 검색 화면을 포함한 아이템의 ‘고급 필터’ 대화창을 사용자에게 표시할 수
있습니다. 사용자가 선택한 희귀도나 캐릭터 클래스에 적용 가능한 아이템으로 신속하게 검색 범위를 줄일 수 있습니다.

inventory_tag_filtering.png
태그를 사용하려면 먼저 아이템 정의에 직접 카테고리 및 태그를 정의한 후, 사용자에게 표시되는
현지화 인수열을 영어 혹은 지원하고자 하는 언어로 제공해야 합니다. 영어 현지화 인수열 조차도
없는 태그는 보관함 기능에서 무시됩니다.

아이템 정의에 사용되는 값은 짧고 간단한 텍스트 토큰이어야 합니다. 이러한 토큰은 각 언어의 현지화 인수열을 식별하기 위한 키로 사용됩니다. 토큰은 사용자에게 직접 표시됩니다.

아이템 태그 현지화

태그를 정의한 아이템을 사용자에게 표시하려면 최소한 사용자가 볼 수 있는 영어 번역을 제공해야 하지만,
되도록이면 모든 언어를 지원하는 것이 좋습니다. 현지화는 애플리케이션의 보관함 서비스 페이지에서 SteamWorks 구성의 일부로 설정할 수 있습니다.

inventory_tag_localize.png

아이템 태그 형식

tag 필드는 분류된 토큰 목록을 통해 ';'으로 분리하여 제시해야 합니다.
각 토큰은 카테고리 토큰과 값 토큰으로 구성되어있으며, ':’으로 분리됩니다.

<tag_list>: <tag_pair> { ";" <tag_pair> } <tag_pair>: <category_token> ":" <tag_token>

아이템 태그 예시

"tags":"class:elf;farms:potato;rarity:legendary;type:character;handed:ambi" ... "tags":"class:troll;farms:gold;rarity:common;type:character;handed:left"

아이템별 태그


generator, playtimegenerator, bundle로부터 아이템이 생성되면 수명 내내 지속되고 소유권이 바뀌어도 유지되는 태그를 지정할 수 있습니다.

이러한 태그는 Steam 클라이언트의 다른 아이템 속성과 함께 자동으로 전달되며 속성 이름 '태그'로 ISteamInventory::GetResultItemProperty를 호출하여 가져올 수 있습니다. 태그는 제공된 문자열 버퍼에서 ; 기호로 분리되어 반환됩니다.

태그를 지정하는 간단한 방법은 생성된 아이템 정의에 정의하는 것입니다. 기본적으로 형성된 모든 아이템에는 generatortags 필드 혹은 playtimegenerator의 아이템 정의가 통째로 복사됩니다.

예시


Generator A는 Generator Legendary에서 아이템을 생성할 확률이 10%, Generator Common에서 아이템을 생성할 확률이 90%입니다. 또한 Generator A는 color:red 태그를 적용합니다. Generator Legendary는 quality:legendary 태그를 적용하여 검 또는 방패 아이템을 생성하고 Generator Common은 quality:common 태그를 적용하여 동일하게 검 또는 방패 아이템을 생성합니다.

itemdefid: 10 type: item name: Sword itemdefid: 11 type: item name: Shield itemdefid: 100 type: generator name: Generator A bundle: 101x1;102x9 tags: color:red itemdef: 101 type: generator name: Generator Legendary bundle: 10;11 tags: quality:legendary itemdef: 102 type: generator name: Generator Common bundle: 10;11 tags: quality:common

태그를 지정하는 또 다른 방법은 tag_generator 아이템 정의 유형을 사용하는 것입니다. 이 특수 아이템 정의(실제로 아이템을 생성하지는 않음)를 통해, 선택할 일련의 태그와 해당 확률을 정의할 수 있습니다. generator, playtimegenerator, bundle 아이템 정의에서는 모든 태그 생성자의 아이템 정의 ID를 tag_generators 필드에 설정해야 합니다. 이러한 태그 생성자는 모든 하위 아이템에 적용됩니다.

태그 생성자 예시


Generator A는 검이나 방패를 생성하고 color:red 태그를 적용한 후 새로운 아이템에 태그 생성자 Quality 및 태그 생성자 FX를 적용합니다. 태그 생성자 Quality는 quality:legendary 태그를 적용할 확률이 10%, quality:common 태그를 적용할 확률이 90%입니다. 태그 생성자 Fx는 fx:flames, fx:sparks, fx:lasers 태그를 적용할 확률이 동일합니다. 이를 통해 ‘Legendary Red Shield with Flames' 혹은 'Common Red Sword with Lasers’를 얻을 수 있습니다.

itemdefid: 10 type: item name: Sword itemdefid: 11 type: item name: Shield itemdefid: 100 type: generator name: Generator A bundle: 10;11 tags: color:red tag_generators: 101;102 itemdefid: 101 type: tag_generator name: Tag Generator Quality tag_generator_name: quality tag_generator_values: legendary:1;common:9 itemdefid: 102 type: tag_generator name: Tag Generator FX tag_generator_name: fx tag_generator_values: flames;sparks;lasers

tag_generators 필드 형식은 적용하려는 태그 생성자의 모든 아이템 정의 ID를 ';'으로 구분하여 나타낸 목록입니다.

tag_generator 아이템 정의를 위해서는 tag_generator_name 필드와 tag_generator_values 필드를 모두 정의해야 합니다.

tag_generator_name 필드는 위에 정의한 카테고리 토큰과 동일합니다.

tag_generator_values 필드는 ';'으로 구분된 tag_token:chance 목록입니다. 확률을 누락할 경우 기본값은 1입니다.