Nhãn vật phẩm cho phép Steam hiển thị hộp thoại "Bộ lọc nâng cao" của vật phẩm đến người dùng, kể cả kho đồ
và hiển thị tìm kiếm trên chợ cộng đồng. Người chơi có thể nhanh chóng thu hẹp tìm kiếm theo độ hiếm của vật phẩm, hoặc chỉ vật phẩm mà lớp nhân vật của họ dùng được.
Để dùng nhãn, đầu tiên cần định nghĩa thể loại và nhãn trực tiếp vào Item Definition, rồi cung cấp
các chuỗi bằng tiếng Anh hoặc bản dịch cho bất kỳ ngôn ngữ nào khác bạn định hỗ trợ. Nhãn nếu không có tối thiểu chuỗi bản địa hóa
bằng tiếng Anh thì sẽ bị tính năng kho đồ phớt lờ.
Giá trị được dùng trong định nghĩa vật phẩm phải là các token chữ đơn giản, ngắn gọn. Các token này được dùng làm key để xác định chuỗi bản địa hóa trong mỗi ngôn ngữ. Token sẽ không bao giờ hiện trực tiếp tới người dùng.
Bản địa hóa nhãn vật phẩm
Sau khi định nghĩa nhãn cho vật phẩm, để làm chúng hiển thị tới người dùng, bạn phải cung cấp bản dịch để người dùng đọc,
tối thiểu phải có tiếng Anh, nhưng nếu được hãy có cho tất cả ngôn ngữ được hỗ trợ. Đây có thể là một phần thiết lập SteamWorks của bạn, trên trang
dịch vụ kho đồ cho ứng dụng.
Định dạng nhãn vật phẩm
Trường
tag
nên được cung cấp dưới dạng các token đã phân loại, phân tách bằng ký tự ";".
Mỗi token chứa một token thể loại và token giá trị, phân tách bởi ký tự ":".
<tag_list>: <tag_pair> { ";" <tag_pair> }
<tag_pair>: <category_token> ":" <tag_token>
Ví dụ về nhãn vật phẩm
"tags":"class:elf;farms:potato;rarity:legendary;type:character;handed:ambi"
...
"tags":"class:troll;farms:gold;rarity:common;type:character;handed:left"
Nhãn theo từng vật phẩm
Khi một vật phẩm được tạo từ
generator
,
playtimegenerator,
hay
bundle,
bạn có thể gán các nhãn mà vật phẩm sẽ giữ suốt toàn bộ vòng đời và giữ nguyên dù nhiều lần đổi chủ.
Các nhãn này được tự động gửi cùng các thuộc tính khác của vật phẩm đến phần mềm Steam và có thể lấy bằng cách gọi ISteamInventory::GetResultItemProperty() với tên property "tags". Các nhãn sẽ được trả về trong bộ nhớ đệm chuỗi được cung cấp, phân tách bởi ký tự
;
.
Cách đơn giản để gán nhãn là định nghĩa chúng trong định nghĩa tạo vật phẩm--cơ bản là bất cứ thứ gì trong định nghĩa vật phẩm của trường
tags
cho
generator
hay
playtimegenerator
sẽ được chép qua toàn bộ lên bất kỳ vật phẩm nào được tạo.
Ví dụ
Generator A có 10% tỉ lệ tạo một vật phẩm từ Generator Legendary, và 90% tỉ lệ tạo một vật phẩm từ Generator Common. Generator A đồng thời cũng áp dụng nhãn
color:red
. Generator Legendary áp dụng nhãn
quality:legendary
và tạo vật phẩm kiếm hoặc khiên, trong khi Generator Common áp dụng nhãn
quality:common
và đồng thời cũng tạo vật phẩm kiếm hoặc khiên.
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
Một cách khác để gán nhãn là dùng loại định nghĩa vật phẩm
tag_generator
. Trong định nghĩa vật phẩm kiểu đặc biệt này (mà không thực sự tạo vật phẩm) bạn sẽ định nghĩa một nhóm nhãn để chọn và xác suất của chúng. Trong định nghĩa vật phẩm
generator
,
playtimegenerator
, hay
bundle
, bạn sẽ cần đặt trường
tag_generators
với các id định nghĩa vật phẩm từ tất cả bộ tạo nhãn. Các bộ tạo nhãn này sẽ áp dụng lên toàn bộ các vật phẩm ở dưới.
Ví dụ về bộ tạo nhãn
Generator A tạo kiếm hoặc khiên, áp dụng nhãn
color:red
, và rồi áp dụng Tag Generator Quality (bộ tạo nhãn chất lượng) và Tag Generator FX (bộ tạo nhãn FX) lên vật phẩm mới. Tag Generator Quality có 10% cơ hội thêm nhãn
quality:legendary
và 90% tỉ lệ áp dụng nhãn
quality:common
. Tag Generator FX có ngang tỉ lệ tạo nhãn
fx:flames
,
fx:sparks
, hoặc
fx:lasers
. Cuối cùng kết quả có thể là "Legendary Red Shield with Flames" hoặc "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
Định dạng cho trường
tag_generators
là danh sách toàn bộ các id định nghĩa vật phẩm của bộ tạo nhãn mà bạn muốn áp dụng, phân tách bởi ký tự ";".
Với định nghĩa vật phẩm
tag_generator
, bạn sẽ muốn định nghĩa cả trường
tag_generator_name
và
tag_generator_values
.
Trường
tag_generator_name
là cùng một thứ với token thể loại được định nghĩa ở trên.
Với trường
tag_generator_values
, đó là một danh sách các
tag_token:chance
phân tách bởi ký tự ";". Nếu không có tỉ lệ thì mặc định là 1.