Skip to main content
Economy v2 现已正式发布。如需支持和反馈,请访问 PlayFab 论坛
Economy v1 (Legacy) 有一个内置的容器功能——一种特殊的目录物品,打开时会将其内容授予玩家的库存。Economy v2 不包括容器作为原生物品类型,但你可以通过结合虚拟货币和捆绑包来实现固定内容容器(始终授予相同物品的容器)的相同行为。

工作原理

该模式使用三个 Economy v2 构建块:
  1. 代表容器本身的虚拟货币(或可堆叠物品)——例如”Treasure Chest Token”。
  2. 一个捆绑包,价格为该货币的 1 个,包含容器应授予的物品。
  3. 购买调用,玩家花费 1 个令牌购买捆绑包,捆绑包会自动拆包并授予物品。
从玩家的角度来看,他们收到一个令牌(通过游戏奖励、商店购买等),然后”打开”它以获取内部物品——就像 V1 容器的工作方式一样。

先决条件

步骤 1:为容器创建虚拟货币

创建一个代表容器的虚拟货币。此货币的每一单位充当一个未打开的容器。

Game Manager

  1. 转到 Economy > Catalog (V2) > Currency
  2. 选择 New currency
  3. Title 设置为描述性名称,例如 Treasure Chest
  4. FriendlyId 设置为简短代码,例如 tc
  5. 选择 Save and publish

REST API

调用 CreateDraftItem

步骤 2:创建一个价格为一个容器令牌的捆绑包

创建一个包含你希望容器授予的物品的捆绑包。将捆绑包的价格设置为正好一单位的容器货币。

Game Manager

  1. 转到 Economy > Catalog (V2) > Bundles
  2. 选择 New bundle
  3. Title 设置为描述容器内容,例如 Treasure Chest Contents
  4. Items 下,添加你希望容器授予的物品和数量——例如 1 把 Legendary Sword 和 100 Gold
  5. Price 下,将价格设置为 1 个你的容器货币(Treasure Chest)。
  6. 选择 Save and publish

REST API

调用 CreateDraftItem

当玩家购买此捆绑包时,捆绑包会自动拆包 — 各个物品会直接进入玩家的库存。

步骤 3:向玩家授予容器令牌

通过任何适合你游戏设计的机制将容器货币授予玩家:
  • 游戏奖励 — 使用 AddInventoryItems 在完成关卡、任务或成就后授予令牌。
  • 商店购买 — 在商店 中以其他虚拟货币或真钱出售容器令牌。
  • 战斗通行证/季节性奖励 — 将令牌作为奖励层级包含在内。
使用 AddInventoryItems 授予三个 Treasure Chest 令牌的示例:

步骤 4:打开容器

当玩家想打开容器时,调用 PurchaseInventoryItems 使用一个容器令牌购买捆绑包:
成功调用后,玩家的库存会更新:扣除一个 Treasure Chest 令牌,并添加捆绑包的内容(一把 Legendary Sword + 100 Gold)。

多种容器类型

通过重复此模式创建多种容器类型。例如: 每种容器类型都有自己的货币和捆绑包。

使用商店进行容器购买

使用商店 覆盖容器捆绑包的价格。通过使用商店,你可以在不同的上下文中以不同的价格提供相同的容器(例如,活动期间的折扣”打开”成本):
然后在购买时传递 StoreId

限制

此模式适用于具有固定的、确定的内容的容器。如果你需要随机战利品(每次打开容器时内容都不同,类似于与掉落表配对的 V1 容器),请参见掉落表和随机战利品 教程。此教程使用 Azure Functions 来:
  1. 从玩家的库存中减去容器令牌。
  2. 运行你的加权随机选择逻辑。
  3. 通过库存 API 授予结果物品。

另请参阅

最后修改于 2026年8月13日