Economy v2 现已正式发布。如需支持和反馈,请访问 PlayFab 论坛。
工作原理
该模式使用三个 Economy v2 构建块:- 代表容器本身的虚拟货币(或可堆叠物品)——例如”Treasure Chest Token”。
- 一个捆绑包,价格为该货币的 1 个,包含容器应授予的物品。
- 购买调用,玩家花费 1 个令牌购买捆绑包,捆绑包会自动拆包并授予物品。
先决条件
- 一个 PlayFab 开发者账户。
- 在 Game Manager 中创建的 Title。
- 至少一个已发布的目录物品,你希望容器授予该物品。
步骤 1:为容器创建虚拟货币
创建一个代表容器的虚拟货币。此货币的每一单位充当一个未打开的容器。Game Manager
- 转到 Economy > Catalog (V2) > Currency。
- 选择 New currency。
- 将 Title 设置为描述性名称,例如
Treasure Chest。 - 将 FriendlyId 设置为简短代码,例如
tc。 - 选择 Save and publish。
REST API
调用 CreateDraftItem:步骤 2:创建一个价格为一个容器令牌的捆绑包
创建一个包含你希望容器授予的物品的捆绑包。将捆绑包的价格设置为正好一单位的容器货币。Game Manager
- 转到 Economy > Catalog (V2) > Bundles。
- 选择 New bundle。
- 将 Title 设置为描述容器内容,例如
Treasure Chest Contents。 - 在 Items 下,添加你希望容器授予的物品和数量——例如 1 把 Legendary Sword 和 100 Gold。
- 在 Price 下,将价格设置为 1 个你的容器货币(Treasure Chest)。
- 选择 Save and publish。
REST API
调用 CreateDraftItem:当玩家购买此捆绑包时,捆绑包会自动拆包 — 各个物品会直接进入玩家的库存。
步骤 3:向玩家授予容器令牌
通过任何适合你游戏设计的机制将容器货币授予玩家:- 游戏奖励 — 使用 AddInventoryItems 在完成关卡、任务或成就后授予令牌。
- 商店购买 — 在商店 中以其他虚拟货币或真钱出售容器令牌。
- 战斗通行证/季节性奖励 — 将令牌作为奖励层级包含在内。
AddInventoryItems 授予三个 Treasure Chest 令牌的示例:
步骤 4:打开容器
当玩家想打开容器时,调用 PurchaseInventoryItems 使用一个容器令牌购买捆绑包:多种容器类型
通过重复此模式创建多种容器类型。例如:
每种容器类型都有自己的货币和捆绑包。
使用商店进行容器购买
使用商店 覆盖容器捆绑包的价格。通过使用商店,你可以在不同的上下文中以不同的价格提供相同的容器(例如,活动期间的折扣”打开”成本):StoreId:
限制
此模式适用于具有固定的、确定的内容的容器。如果你需要随机战利品(每次打开容器时内容都不同,类似于与掉落表配对的 V1 容器),请参见掉落表和随机战利品 教程。此教程使用 Azure Functions 来:- 从玩家的库存中减去容器令牌。
- 运行你的加权随机选择逻辑。
- 通过库存 API 授予结果物品。
