store-24购买/产品 API

玩家可以在你的游戏中用火花购买产品(游戏通行证 + 消耗品)。当发生购买时,All Out 会调用你的 购买处理程序 以便你授予物品或功能。

circle-info

有关创建产品和查看分析,请参阅 游戏内商品.

产品类型(快速概览)

  • 游戏通行证:一次性、持久解锁(管理员通行证、永久能力、房屋所有权)

  • 消耗品:可以多次购买(药水、临时增益、一次性金币包)

产品类型在创作者门户中配置。参见 游戏内商品.

购买 API 参考

Product :: struct {
    id: string;
    name: string;
    description: string;
    price: s64;
    consumable: bool;
    icon: Texture_Asset;
}

Purchasing :: struct {
    prompt_purchase :: proc(player: Player, id: string);
    owns_product    :: proc(player: Player, id: string) -> bool;
    get_product     :: proc(id: string) -> Product;
}

提示购买

要开始购买流程,请调用 Purchasing.prompt_purchase 并传入产品 ID。

circle-info

产品 ID 显示在创作者门户的货币化/产品 页面(你可以点击复制它)。参见 游戏内商品.

检查玩家是否拥有某产品(游戏通行证)

对于游戏通行证,你可以通过检查拥有情况来限制游戏功能。

circle-info

消耗品可以多次购买,不应使用 owns_product 来授予它们。消耗品通常在你的购买处理程序中授予(金币、物品、增益等)。

读取产品信息(名称/价格/图标)

如果你想显示“购买”界面或记录产品信息,请按 ID 获取产品定义:

购买处理程序(授予)

当玩家在你的游戏中购买产品时,All Out 会调用:

你应该:

  • 根据产品 ID 进行分支

  • 授予物品/功能

  • 返回 true 如果授予成功

  • 返回 如果授予失败(库存已满、缺少前置条件等)

授予失败与重试

如果你的购买处理程序返回 ,则该购买会被标记为 授予失败.

  • 授予失败会显示在创作者门户中

  • 它们会在玩家加入时自动重试,直到成功为止

  • 你可以通过在玩家数据界面中将购买标记为“未授予”来手动重新运行购买处理程序

参见:

跨游戏(中心 + 小型游戏)

如果你使用游戏父子关系,购买可以在你的游戏之间共享。参见 跨游戏产品/数据.

最后更新于