|
发表于 2024-11-18 11:20:40
|
查看: 64 |
回复: 1
现在任务导表已经有了,如下:
local config =
{
["type"]=
{...},
["guide"]=
{...},
["rewards"]=
{...},
["condition"]=
{...},
["config"]=
{...},
["master"]=
{
[1]=
{
["title"]="新人上线",
["script"]="测试任务脚本",
["next_id_arr"]=
{
[1]=2,
},
["global_cc_arr"]=
{
[1]=1,
[2]=2,
[3]=3,
},
["id"]=1,
["group"]="主线",
["success_desc"]="完成任务",
["submit_global_msg"]="<灼伤:_P几率灼烧目标/FCOLOR=254>#_T<每秒燃烧目标5%生命值/FCOLOR=249>",
},
},
}
return config;
服务端任务主控.lua也在玩家登录触发中手动调用过了,只是这个login函数内容是不是也要做相应处理
function sendclient(actor,id,info)
--需要实现
end
---客户端检测逻辑检测完成提交(服务端最终验证)
---@param actor string 玩家对象
---@param id number 任务id
function complete(actor,id)
--需要实现
end
---创建任务信息 要按上面结构解析存在信息与guide信息
---@param id number 任务id
---@param task table 任务存储内容
function newtask(id,task)
--需要实现
end
-----任务主控件文件只要填写引擎触发,会主动注入回调参数与引擎回调参数一致
---任务登录处理
function login(actor)
msg:syspromptmsg(actor,"登录任务处理");
local taskConfig=config["任务配置"];
if taskConfig==nil then
log:error("不存在任务配置")
return;
end
local new=taskConfig[1];
if new==nil then
log:error("不存在新手任务配置")
return;
end
--新手任务发放 查询任务id=1 是否存在
local task=gettask(actor);
log:debug("chjh 任务主控login gettask:",task)
if task and task[1] then
return;
end
if task==nil then
task={};
end
newtask(1,task);
savetask(actor,task);
sendclient(actor,1,task[1]);
end
这里面直接读taskConfig[1]其实应该是要读的master里的才对,当前我改为了taskConfig.master[1],但是发现左上角任务信息栏还没有展示任何任务信息,是不是需要自动接取新人任务才行,我应该在哪里进行新人任务接取呢,求指点,有没有专门门针对任务介绍的文档或视频,任务主控的几个函数不知道做什么的
|
|