任务系统模块

用户可以在元宇宙世界中完成各种任务,拿到对应的奖励。运营管理后台任务配置和发布可以参见文档 任务配置和发布

1.整体介绍

1.1. 见闻任务

永久任务,页签固定在任务页签的最顶端。

1.1. 见闻任务

活动任务,会展示活动海报及介绍,可以有多个,每个活动都可以配置有效时间,在有效时间内,用户可以完成多个任务,拿到对应的奖励。

2. 主要功能对应数资及脚本

脚本或dll Prefab 说明 功能示意图
Baidu.Meta.MCK.Task.TaskDataManager PC,Mobile ,VR 任务数据管理器(单例)
Baidu.Meta.MCK.Task.TaskUIManager PC,Mobile ,VR 任务界面管理器(单例)
Baidu.Meta.MCK.Task.TaskPanel PC,Mobile ,VR TaskPanel.Prefab 任务面板

3. 客户端接口

代码:AvatarCreateService.cs

接口 参数 返回 说明
_solveTaskFrozens WorldTask void 更新冻结的任务
_solveTaskDoings WorldTask void 更新待完成的任务
_solveTaskDels WorldTask void 更新删除的任务
_solveTaskDones WorldTask void 更新已完成的任务

4.任务条件判断

接口名 说明 参数1 参数2 统计方式
ItemNum 指定持有道具数量 道具id 道具数量 存量统计
ItemType 持有指定类型的道具 道具类型 条件判断
AddFriend 添加好友成功 添加好友成功次数 行为发生时统计,一次性
FriendNum 好友数量达到指定人数 数量 存量统计
OperatNpc 对可交互NPC进行交互行为达到指定次数(后续有其他交互行为再扩充接口) 交互物件id 次数 行为发生时统计,一次性
AccessArea 到达指定的区域 配置staticarea表里的ID(围绕NPC设置一个区域) 道具数量 条件判断
TakePicturesCount 拍照次数统计 次数 行为发生时统计,一次性
ShareCount 分享次数统计 次数 行为发生时统计,一次性
ChatToFriends 与好友互动次数(包括语音互动或分享照片互动都算) 次数 行为发生时统计,一次性
EnterSpaceID 进入指定的地图id几次 指定的地图id 进入次数 行为发生时统计,一次性
UseItemCount 成功使用道具次数 指定道具id 使用次数 行为发生时统计,一次性
TakePicturesAreaCount 进入指定区域拍照指定次数 指定的区域ID 使用次数 行为发生时统计,一次性

5. 任务配置示例

5.1 交互类任务配置

与NPC交互类任务的配置方式
1、需要交互NPC拥有碰撞盒

2、在运营中台创建交付的NPC

3、修改客户端json
绑定客户端本地的业务逻辑

{
    "id": "6000000416",//NPCID
    "name": "交互测试",//功能说明
    "prefab": "model/male3_101", //客户端交付的prefab路径
    "config_detail": {
    "function": {
    "extra": [
    "Hotfix.Standard.NPC.BaseNpc"//绑定类
          ],
    "ClickCFunction": "interaction_request,#client_cmd ChunJieTuzhi05"//触发的function
    }
  }
}

4、服务器function

{
"npc_list": "6000000416",//NPCID   
"id": "6000000478",//开发者平台配置的NPCID  
"desc": "点击交互完成任务",//说明  
"name": "ChunJieTuzhi05",//任务名  
"type": "no_effect_function",//含义为点了为null的交互指令 (如需其他交互命令,例如进行对话,进行采集需要其他对应配置)  
"action": "",  
"to_client": true,  
"action_param": "",  
"string_param": "",  
"trigger_type": "client_cmd",  
"trigger_param": ""  
}

5、在运营后台配置NPC的预制体(主工程注册在Addressables的NPC可以用在任意位置,如果是副本工程Addressables注册的NPC只能用在当前副本,其他副本取不到该NPC的资源)
6、在运营后台配置NPC的刷新位置
7、任务即可与该NPC进行点击交互

5.2 采集任务配置

详细流程可以查看 采集任务配置

背包模块采集任务配置