Roblox Guidebook知识库
简体中文 ⌄

开发 / ROBLOX

Roblox 成就徽章:条件设计与服务器检查

为练习路线规划一个徽章:明确条件、对应游戏、服务器发放和所有权检查。区分界面消息、API 调用,以及已经确认的实际结果。

更新日期:

先描述成就 #

选择一个可以用一句话解释的小目标:完成练习路线并到达终点。记录必经阶段和能够确认完成的服务器状态。徽章应该表示这项成就,而不是仅仅碰到任何看起来类似的零件。

本例规划独立练习项目,没有创建真实徽章、获取 ID 或给玩家发奖,也没有修改你的游戏代码。本文准备实现任务,不是已经在 Studio 验证过的 BadgeService 脚本,更不表示已有可运行的发奖系统。

统一名称、说明和条件 #

名称说明发生了什么,描述说明怎样获得。把两者与路线规则比较:如果必须完成整个路线,不要写成进入游戏即可。机制尚未定义时,先明确机制,再填写成就卡,不让玩家或翻译者猜测。

额外效果需要单独记录。金币、物品或新区域不会因为徽章名称就出现,每一项都需要自己的实现。本练习只讨论完成徽章,不承诺 Robux、头像物品或额外权限,也不把不同奖励自动绑定。

准备对象并避免意外费用 #

Creator Dashboard 的徽章工具属于所选游戏。文档描述通过游戏菜单创建,之后在 Engagement → Badges 管理。真正创建前确认游戏与当前额度:额外徽章可能需要 Robux,不应默认所有创建都免费。

准备文章不需要创建实际对象,可以填写目标并把 badgeId 留空。不要使用其他作者的 ID,或把虚构数字当作可用参数。以后在另一项任务中创建对象时,再核对页面、ID 和游戏是否与说明一致。

检查图标与可用性 #

文档建议 512×512 原始图片,并考虑圆形裁切。我们的计划让关键符号留在圆内,把长名称与图画分开。除了查看完整图片,还要检查缩小后是否能辨认含义,不能只追求大图效果。

徽章有启用状态。禁用徽章不会出现在游戏页面的徽章区域,也不能获得。制作图片与创建徽章是不同任务;漂亮图标不能证明徽章可用,更不能证明服务器完成条件已经正确实现。

把条件连接到服务器逻辑 #

文档描述从服务器 Script 调用 AwardBadgeAsync 发放。调用前,未来逻辑应确认这个玩家完成的是这条路线。客户端说“我完成了”或播放动画,不能替代游戏状态的检查,也不能单独证明成就成立。

记录进度保存位置与有效终点的判断方法,然后列出拒绝情况:必经起点尚未完成、终点属于另一条路线,或成就已经确认。这些是建议实现要求,不是我们已经执行的测试结果,更不是无条件碰触发奖规则。

成就与确认打开大图 ↗
原创成就检查图,不是运行中的发奖逻辑。

分开信息、发放和所有权 #

GetBadgeInfoAsync 获取徽章信息,包括 IsEnabled。AwardBadgeAsync 用于发放,UserHasBadgeAsync 用于检查具体徽章所有权。这些调用回答不同问题,不应被合并成一个“全部可用”的观察。

检查卡分别记录正确徽章、可用性、完成条件、发放调用结束和所有权检查。测试账户与 badgeId 放在私有测试记录中。公开文章不需要真实玩家数据,也不需要读者提供账户密码来核对徽章说明。

不只看受保护调用成功 #

API 将 AwardBadgeAsync 与 UserHasBadgeAsync 的返回值标为 boolean。受保护调用还会分别给出异常状态与内部函数返回值。因此,没有异常不能直接标注为成功发放,两个层级必须分开解释。

同样,所有权查询错误意味着结果未知,不是已经确认没有徽章。建议日志保存两层结果以及下一步决定。只观察到函数运行或按钮点击时,不要向玩家肯定显示“已获得”,应与实际证据保持一致。

包含重复与不可用状态 #

计划包含再次碰触终点、已经拥有徽章、禁用对象、错误 ID 和信息查询失败。每种情况都要定义已知状态,以及界面可以诚实显示什么。不要把任何错误都转成重新发奖,也不要用缺少证据代替成功。

再次进入需要单独讨论。徽章所有权与路线进度是不同状态,确认一个不能证明整个档案。如果机制需要额外游戏效果,应另外检查应用与保存,不能因为徽章存在就默认金币、权限与进度均正确。

规划有限测试与观察记录 #

使用独立练习项目和已定义目标,依次检查到达终点前、正确完成与重复。下表提出预期问题,不是真实发奖报告。不要测试别人的游戏或账户,也不要为了展示文章随意更改在线项目。

保留步骤、初始状态、API 结果与所有权结果。改变条件后,重复引出问题的那个场景。模拟调用、概念图和实际 Studio 检查提供不同层级的证据,应明确标注,避免把模拟成功写成平台测试成功。

场景检查问题
终点前条件是否尚未确认?
有效终点什么证明已经完成?
重复是否区分所有权与重复信号?
API 错误是否没有把未知标为成功?

把说明交给下一位开发者 #

说明包含目标、描述、所选游戏、未来 badgeId、可用状态、服务器条件与检查矩阵。单独列出尚未实现的部分和发布前需要的观察,让下一个聊天理解任务,不必猜测之前的设想。

一个练习成就准备好,不证明所有游戏奖励都正确。这里没有执行创建、支付或发放。真正有用的结果是可检查规则和证据计划,让开发者之后在约定环境中实现并验证,而不是提前宣布游戏奖励系统完成。

成就说明卡打开大图 ↗
原创说明卡。真实 ID 与观察在独立实现时补充。
字段记录内容
目标说明中的准确行动
对象正确游戏、ID 与可用状态
逻辑服务器条件与重复
证据测试类型和实际观察

原始资料

Roblox Creator Hub — Badges
Roblox Creator Hub — BadgeService API