update condi配置
This commit is contained in:
parent
4a18a075f5
commit
b77c28dd0d
@ -1435,8 +1435,8 @@
|
|||||||
"NPC": 1,
|
"NPC": 1,
|
||||||
"data1": 1,
|
"data1": 1,
|
||||||
"data2": 111,
|
"data2": 111,
|
||||||
"data3": 1,
|
"data3": 0,
|
||||||
"data4": 1,
|
"data4": 0,
|
||||||
"data5": 0
|
"data5": 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -1451,8 +1451,8 @@
|
|||||||
"NPC": 2,
|
"NPC": 2,
|
||||||
"data1": 1,
|
"data1": 1,
|
||||||
"data2": 112,
|
"data2": 112,
|
||||||
"data3": 2,
|
"data3": 0,
|
||||||
"data4": 2,
|
"data4": 0,
|
||||||
"data5": 0
|
"data5": 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -1467,8 +1467,8 @@
|
|||||||
"NPC": 3,
|
"NPC": 3,
|
||||||
"data1": 1,
|
"data1": 1,
|
||||||
"data2": 113,
|
"data2": 113,
|
||||||
"data3": 3,
|
"data3": 0,
|
||||||
"data4": 3,
|
"data4": 0,
|
||||||
"data5": 0
|
"data5": 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -1483,8 +1483,8 @@
|
|||||||
"NPC": 10110,
|
"NPC": 10110,
|
||||||
"data1": 1,
|
"data1": 1,
|
||||||
"data2": 114,
|
"data2": 114,
|
||||||
"data3": 4,
|
"data3": 0,
|
||||||
"data4": 4,
|
"data4": 0,
|
||||||
"data5": 0
|
"data5": 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -198,7 +198,42 @@ func (this *apiComp) Finish(session comm.IUserSession, req *pb.WorldtaskFinishRe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
finishCall := func() {
|
//判断任务是否已完成
|
||||||
|
for _, v := range userTask.TaskList {
|
||||||
|
if v == req.TaskId {
|
||||||
|
this.module.Debug("任务已完成,返回下一个",
|
||||||
|
log.Field{Key: "uid", Value: uid},
|
||||||
|
log.Field{Key: "taskId", Value: req.TaskId},
|
||||||
|
)
|
||||||
|
finishRsp()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var (
|
||||||
|
condiId int32
|
||||||
|
condiFlag bool
|
||||||
|
)
|
||||||
|
for _, condId := range curTaskConf.Completetask {
|
||||||
|
if this.module.modelWorldtask.checkCondi(uid, condId) {
|
||||||
|
condiFlag = true
|
||||||
|
} else {
|
||||||
|
condiFlag = false
|
||||||
|
condiId = condId
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if !condiFlag {
|
||||||
|
rsp.Code = pb.ErrorCode_RtaskCondiNoReach
|
||||||
|
rsp.CondiId = condiId
|
||||||
|
rsp.TaskId = req.TaskId
|
||||||
|
if err := session.SendMsg(string(this.module.GetType()), WorldtaskSubtypeFinish, rsp); err != nil {
|
||||||
|
code = pb.ErrorCode_SystemError
|
||||||
|
return
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
// 完成任务
|
// 完成任务
|
||||||
if err := this.module.modelWorldtask.finishTask(req.GroupId, req.TaskId, userTask); err != nil {
|
if err := this.module.modelWorldtask.finishTask(req.GroupId, req.TaskId, userTask); err != nil {
|
||||||
code = pb.ErrorCode_WorldtaskFinish
|
code = pb.ErrorCode_WorldtaskFinish
|
||||||
@ -234,22 +269,6 @@ func (this *apiComp) Finish(session comm.IUserSession, req *pb.WorldtaskFinishRe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
//判断任务是否已完成
|
|
||||||
for _, v := range userTask.TaskList {
|
|
||||||
if v == req.TaskId {
|
|
||||||
this.module.Debug("任务已完成,返回下一个",
|
|
||||||
log.Field{Key: "uid", Value: uid},
|
|
||||||
log.Field{Key: "taskId", Value: req.TaskId},
|
|
||||||
)
|
|
||||||
finishRsp()
|
|
||||||
return
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
finishCall()
|
|
||||||
|
|
||||||
finishRsp()
|
finishRsp()
|
||||||
|
|
||||||
return
|
return
|
||||||
|
@ -134,6 +134,23 @@ func (this *ModelWorldtask) findNextTasks(parentTaskId int32) (taskIds []int32)
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (this *ModelWorldtask) checkCondi(uid string, condiId int32) bool {
|
||||||
|
if m, err := this.service.GetModule(comm.ModuleRtask); err == nil {
|
||||||
|
iwt, ok := m.(comm.IRtask)
|
||||||
|
if ok {
|
||||||
|
if mc := iwt.CheckCondi(uid, condiId); mc != pb.ErrorCode_Success {
|
||||||
|
this.moduleWorldtask.Debug("任务完成条件不满足",
|
||||||
|
log.Field{Key: "uid", Value: uid},
|
||||||
|
log.Field{Key: "condiId", Value: condiId},
|
||||||
|
)
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
func (this *ModelWorldtask) updateCheckCond(uid string, userTask *pb.DBWorldtask, nextTaskId int32) *pb.DBWorldtask {
|
func (this *ModelWorldtask) updateCheckCond(uid string, userTask *pb.DBWorldtask, nextTaskId int32) *pb.DBWorldtask {
|
||||||
//检查下个任务的完成条件
|
//检查下个任务的完成条件
|
||||||
nextTaskConf, err := this.moduleWorldtask.configure.getWorldtaskById(nextTaskId)
|
nextTaskConf, err := this.moduleWorldtask.configure.getWorldtaskById(nextTaskId)
|
||||||
|
Loading…
Reference in New Issue
Block a user