任务是一个现成的任务系统:带奖励的每日、每周和一次性任务,带宝箱的积分进度条,以及完成一组任务的额外奖励。 任务是每个新项目的一部分。进度和奖励由服务器计算;游戏只需上报玩家做了什么并显示结果。
玩家看到什么
- 以标签页呈现的周期:每日、每周、成就,并显示到下一个周期的计时。
- 每个任务上的进度条,以及显示全部目标的详情弹窗。
- 用于已完成任务的**“全部领取”按钮**。
- 积分进度条,宝箱随积分累积而开启。
- 有已完成任务待领取时,标签页上的徽标。
任务
12 450
320
每日2
每周
成就
新任务 08:12:44 后刷新
任务积分: 452
20
40
60
80
100
击败 20 个怪物
+1020/20
领取
3通关 3 个关卡
+103/3
领取
升级英雄 10 次
+157/10
领取
在商店购买任意物品
+200/1
领取
全部领取
41周期以标签页显示,并带有到下个周期的计时。
2积分进度条:领取任务会增加积分,沿途开启宝箱。
3已完成的任务等待“领取”;其余任务显示进度。
4“全部领取”一键领取所有已完成任务。
任务的结构
- 周期:一组按计划进行的任务:每日、每周、常驻或限时活动。周期可以按阶段依次进行,例如一个八周的赛季,每周都有自己的任务和积分进度条。
- 任务:一个或多个目标,每个目标有自己的计数器(“击败 20 个怪物”),以及一份奖励。任务可以要求先完成另一个任务:任务链就是这样构建的。
奖励有三种,并且同时生效:
- 任务奖励:所有目标完成时发放。
- 积分进度条上的宝箱:领取任务会增加周期积分,达到所需总数时开启宝箱。
- 分组奖励:同一组中完成了设定数量的任务时发放。
进度从哪里来
| 来源 | 示例 | 你需要做什么 |
|---|---|---|
| 游戏上报 | 击败了一个怪物、通过了一个关卡 | 在发生的位置加一行代码 |
| 服务器统计 | 在商店购买、领取了另一个任务 | 什么都不用做,只需选择事件 |
| 服务器脚本 | 你在云代码中的自定义规则 | 从脚本中调用 |
步骤 01创建周期
打开后台,选择你的项目,进入 实时运营 → v2 → 任务。在周期标签页创建一个周期,例如每日周期,如果需要,再添加一条带宝箱的积分进度条。
步骤 02添加任务
在任务标签页创建任务:名称、周期、目标和奖励。为每个目标选择进度来源。如果由游戏统计,就选择一个计数器名称,例如 monsters_defeated。
页面上的 AI 按钮会打开助手:“做三个每日任务:胜利、商店购买和英雄升级”。它会提出修改,你检查后点击保存。
步骤 03让游戏上报进度
对于由游戏统计的目标,告诉 AI 编程助手:“每击败一个怪物就统计一次 monsters_defeated”。它会在代码的正确位置加上调用。放置 RPG 模板已经会上报通关的关卡和英雄升级。
开发者须知
任务通过 @idosgames/core 中的 client.quest 工作。进度按计数器名称而不是按任务发送:服务器会把它交给所有监听该计数器的进行中任务。
// 在发生的位置:击败了一个怪物
await client.quest.addQuestProgress('monsters_defeated', 1)
// 任务界面:玩家的进度;周期会自动向前滚动
const state = await client.quest.getUserQuestState()
// 领取已完成任务的奖励
const claim = await client.quest.claimQuestReward('daily_win_20', 'daily')
if (!claim.ok) return showError(claim.error)addQuestProgress只推进来源为游戏的目标。服务器自己统计的目标会被拒绝。- 永远不要“保险起见”多发数值:如果目标有单次调用上限,超出会导致玩家账号被封禁。
- 发放的奖励已经应用到 SDK 缓存中的余额,不需要重新加载。
每个字段都在技能 quest-system 中有说明,由 SDK 的 MCP 服务器提供。
常见问题
需要把任务加入我的项目吗?
不需要。任务是每个新项目的一部分。只要在后台中设置了至少一个任务,任务标签页就会对玩家显示。
游戏怎么知道任务完成了?
进度由服务器计算。有些任务服务器自己统计(购买、其他任务),而对于游戏内的行为,例如击败一个怪物,游戏用一行代码告诉服务器。
可以做战斗通行证吗?
周期的积分进度条提供类似的机制。每领取一个任务就增加积分,进度条上的宝箱会在玩家达到所需积分时开启。
另请参阅
- 游戏内商店:橱窗、商品和价格iDos Games 现成商店的运作方式:商品轮换的橱窗、用游戏货币或真实货币定价、免费礼物和购买限制,以及如何在后台无需代码完成设置。
- 游戏内排行榜:排名、回合和奖励iDos Games 现成排行榜的运作方式:带回合的榜单、按名次和按积分的奖励、防止刷分的保护,以及如何在后台中设置。
- 放置 RPG 模板:英雄、怪物波次和 BossiDos Games 上现成的放置 RPG 模板:英雄自动对抗一波波怪物和 Boss,玩家离开时金币也在累积,属性用金币升级。里面有什么,以及如何把它变成你自己的游戏。
- 新项目包含什么每个 iDos Games 新项目都从登录、大厅和六个现成系统开始;商店、排行榜、活动或多人游戏等其他系统会在应用需要时添加。