From 0a3033e8ed8b309076a064a8ba78ecf6c1d9d56d Mon Sep 17 00:00:00 2001 From: wh_zcy Date: Fri, 2 Jun 2023 11:30:56 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8E=A5=E5=8F=96=E6=97=B6?= =?UTF-8?q?=E6=9D=A1=E4=BB=B6=E5=B7=B2=E5=AE=8C=E6=88=90=E4=BD=86=E6=97=A0?= =?UTF-8?q?=E9=9C=80=E4=BA=A4=E4=BB=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/worldtask/api_accept.go | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/modules/worldtask/api_accept.go b/modules/worldtask/api_accept.go index ed47debbf..45b645847 100644 --- a/modules/worldtask/api_accept.go +++ b/modules/worldtask/api_accept.go @@ -82,11 +82,29 @@ func (a *apiComp) Accept(session comm.IUserSession, req *pb.WorldtaskAcceptReq) } //判断是否要结束任务 - if ((len(curTaskConf.Completetask) == 1 && curTaskConf.Completetask[0] == 0) || - len(curTaskConf.Completetask) == 0) && curTaskConf.DeliverNpc == 0 { + if ((len(curTaskConf.Completetask) == 1 && curTaskConf.Completetask[0] == 0) || len(curTaskConf.Completetask) == 0) && + curTaskConf.DeliverNpc == 0 { //结束任务 a.module.modelWorldtask.taskFinish(session, req.GroupId, req.TaskId, myWorldtask, curTaskConf) a.module.modelWorldtask.taskFinishPush(session, req.GroupId, myWorldtask, curTaskConf) + } else if curTaskConf.DeliverNpc == 0 && len(curTaskConf.Completetask) > 0 { + conds, err := a.module.ModuleBuried.CheckCondition(uid, curTaskConf.Completetask...) + if err == nil { + var flag bool + for _, cond := range conds { + if cond.State == pb.BuriedItemFinishState_buried_finish { + flag = true + rsp.CondiIds = append(rsp.CondiIds, cond.Conid) + } else { + flag = false + break + } + } + if flag { + a.module.modelWorldtask.taskFinish(session, req.GroupId, req.TaskId, myWorldtask, curTaskConf) + a.module.modelWorldtask.taskFinishPush(session, req.GroupId, myWorldtask, curTaskConf) + } + } } else { // 已完成的任务条件 conds, err := a.module.ModuleBuried.CheckCondition(uid, curTaskConf.Completetask...)