/** 任务承接条件判断 task_id: 任务编号 false:失败 true:成功 */ func (tb *TaskBaseRule) OnTestTaskAccept(player *entity.Player, task *Task) bool { //是否已经接了 if player.TaskAccepted_r.FindID(task.ID) != -1 { return false } //前置任务是否已经完成 if task.PreTaskId != "" && task.PreTaskId != "0" { row := player.TaskAccepted_r.FindID(task.PreTaskId) if row == -1 { return false } if flag, _ := player.TaskAccepted_r.GetFlag(row); flag != TASK_FLAG_COMPLETE { return false } } //等级是否满足条件 if task.Level > int32(player.GetLevel()) { return false } return true }