修改任务接口
This commit is contained in:
parent
46ec141a48
commit
bbf8a2d57c
@ -367,8 +367,8 @@
|
||||
"type": 22,
|
||||
"valid": 0,
|
||||
"NPC": 0,
|
||||
"data1": 25001,
|
||||
"data2": 0,
|
||||
"data1": 1,
|
||||
"data2": 25001,
|
||||
"data3": 0,
|
||||
"data4": 0,
|
||||
"data5": 0
|
||||
@ -487,8 +487,8 @@
|
||||
"valid": 0,
|
||||
"NPC": 0,
|
||||
"data1": 2,
|
||||
"data2": 22,
|
||||
"data3": 25004,
|
||||
"data2": 25004,
|
||||
"data3": 22,
|
||||
"data4": 0,
|
||||
"data5": 0
|
||||
},
|
||||
@ -1030,8 +1030,8 @@
|
||||
"type": 61,
|
||||
"valid": 0,
|
||||
"NPC": 105,
|
||||
"data1": 1100105,
|
||||
"data2": 0,
|
||||
"data1": 1,
|
||||
"data2": 1100105,
|
||||
"data3": 0,
|
||||
"data4": 0,
|
||||
"data5": 0
|
||||
@ -1744,8 +1744,8 @@
|
||||
"type": 61,
|
||||
"valid": 0,
|
||||
"NPC": 29,
|
||||
"data1": 1100101,
|
||||
"data2": 0,
|
||||
"data1": 1,
|
||||
"data2": 1100101,
|
||||
"data3": 0,
|
||||
"data4": 0,
|
||||
"data5": 0
|
||||
@ -1761,8 +1761,8 @@
|
||||
"type": 61,
|
||||
"valid": 0,
|
||||
"NPC": 0,
|
||||
"data1": 104,
|
||||
"data2": 0,
|
||||
"data1": 1,
|
||||
"data2": 104,
|
||||
"data3": 0,
|
||||
"data4": 0,
|
||||
"data5": 0
|
||||
@ -1778,8 +1778,8 @@
|
||||
"type": 61,
|
||||
"valid": 0,
|
||||
"NPC": 0,
|
||||
"data1": 108,
|
||||
"data2": 0,
|
||||
"data1": 1,
|
||||
"data2": 108,
|
||||
"data3": 0,
|
||||
"data4": 0,
|
||||
"data5": 0
|
||||
@ -1812,8 +1812,8 @@
|
||||
"type": 61,
|
||||
"valid": 0,
|
||||
"NPC": 105,
|
||||
"data1": 1100106,
|
||||
"data2": 0,
|
||||
"data1": 1,
|
||||
"data2": 1100106,
|
||||
"data3": 0,
|
||||
"data4": 0,
|
||||
"data5": 0
|
||||
@ -6334,8 +6334,8 @@
|
||||
"type": 61,
|
||||
"valid": 0,
|
||||
"NPC": 10191,
|
||||
"data1": 1100206,
|
||||
"data2": 0,
|
||||
"data1": 1,
|
||||
"data2": 1100206,
|
||||
"data3": 0,
|
||||
"data4": 0,
|
||||
"data5": 0
|
||||
@ -6419,8 +6419,8 @@
|
||||
"type": 61,
|
||||
"valid": 0,
|
||||
"NPC": 10241,
|
||||
"data1": 1100301,
|
||||
"data2": 0,
|
||||
"data1": 1,
|
||||
"data2": 1100301,
|
||||
"data3": 0,
|
||||
"data4": 0,
|
||||
"data5": 0
|
||||
@ -6436,8 +6436,8 @@
|
||||
"type": 61,
|
||||
"valid": 0,
|
||||
"NPC": 10251,
|
||||
"data1": 1100306,
|
||||
"data2": 0,
|
||||
"data1": 1,
|
||||
"data2": 1100306,
|
||||
"data3": 0,
|
||||
"data4": 0,
|
||||
"data5": 0
|
||||
@ -6504,8 +6504,8 @@
|
||||
"type": 61,
|
||||
"valid": 0,
|
||||
"NPC": 10291,
|
||||
"data1": 1100406,
|
||||
"data2": 0,
|
||||
"data1": 1,
|
||||
"data2": 1100406,
|
||||
"data3": 0,
|
||||
"data4": 0,
|
||||
"data5": 0
|
||||
@ -6589,8 +6589,8 @@
|
||||
"type": 61,
|
||||
"valid": 0,
|
||||
"NPC": 10341,
|
||||
"data1": 1100506,
|
||||
"data2": 0,
|
||||
"data1": 1,
|
||||
"data2": 1100506,
|
||||
"data3": 0,
|
||||
"data4": 0,
|
||||
"data5": 0
|
||||
@ -6708,8 +6708,8 @@
|
||||
"type": 61,
|
||||
"valid": 0,
|
||||
"NPC": 10411,
|
||||
"data1": 1100606,
|
||||
"data2": 0,
|
||||
"data1": 1,
|
||||
"data2": 1100606,
|
||||
"data3": 0,
|
||||
"data4": 0,
|
||||
"data5": 0
|
||||
@ -6793,8 +6793,8 @@
|
||||
"type": 61,
|
||||
"valid": 0,
|
||||
"NPC": 10461,
|
||||
"data1": 1100706,
|
||||
"data2": 0,
|
||||
"data1": 1,
|
||||
"data2": 1100706,
|
||||
"data3": 0,
|
||||
"data4": 0,
|
||||
"data5": 0
|
||||
@ -6844,8 +6844,8 @@
|
||||
"type": 61,
|
||||
"valid": 0,
|
||||
"NPC": 10491,
|
||||
"data1": 1100806,
|
||||
"data2": 0,
|
||||
"data1": 1,
|
||||
"data2": 1100806,
|
||||
"data3": 0,
|
||||
"data4": 0,
|
||||
"data5": 0
|
||||
@ -6895,8 +6895,8 @@
|
||||
"type": 61,
|
||||
"valid": 0,
|
||||
"NPC": 10521,
|
||||
"data1": 1100906,
|
||||
"data2": 0,
|
||||
"data1": 1,
|
||||
"data2": 1100906,
|
||||
"data3": 0,
|
||||
"data4": 0,
|
||||
"data5": 0
|
||||
@ -6929,8 +6929,8 @@
|
||||
"type": 61,
|
||||
"valid": 0,
|
||||
"NPC": 10541,
|
||||
"data1": 11001006,
|
||||
"data2": 0,
|
||||
"data1": 1,
|
||||
"data2": 11001006,
|
||||
"data3": 0,
|
||||
"data4": 0,
|
||||
"data5": 0
|
||||
@ -6980,8 +6980,8 @@
|
||||
"type": 61,
|
||||
"valid": 0,
|
||||
"NPC": 10571,
|
||||
"data1": 11001106,
|
||||
"data2": 0,
|
||||
"data1": 1,
|
||||
"data2": 11001106,
|
||||
"data3": 0,
|
||||
"data4": 0,
|
||||
"data5": 0
|
||||
@ -7014,8 +7014,8 @@
|
||||
"type": 61,
|
||||
"valid": 0,
|
||||
"NPC": 10591,
|
||||
"data1": 11001206,
|
||||
"data2": 0,
|
||||
"data1": 1,
|
||||
"data2": 11001206,
|
||||
"data3": 0,
|
||||
"data4": 0,
|
||||
"data5": 0
|
||||
@ -7031,8 +7031,8 @@
|
||||
"type": 61,
|
||||
"valid": 0,
|
||||
"NPC": 10601,
|
||||
"data1": 1200103,
|
||||
"data2": 0,
|
||||
"data1": 1,
|
||||
"data2": 1200103,
|
||||
"data3": 0,
|
||||
"data4": 0,
|
||||
"data5": 0
|
||||
@ -7048,8 +7048,8 @@
|
||||
"type": 61,
|
||||
"valid": 0,
|
||||
"NPC": 10611,
|
||||
"data1": 1200106,
|
||||
"data2": 0,
|
||||
"data1": 1,
|
||||
"data2": 1200106,
|
||||
"data3": 0,
|
||||
"data4": 0,
|
||||
"data5": 0
|
||||
@ -7065,8 +7065,8 @@
|
||||
"type": 61,
|
||||
"valid": 0,
|
||||
"NPC": 10621,
|
||||
"data1": 1200203,
|
||||
"data2": 0,
|
||||
"data1": 1,
|
||||
"data2": 1200203,
|
||||
"data3": 0,
|
||||
"data4": 0,
|
||||
"data5": 0
|
||||
@ -7082,8 +7082,8 @@
|
||||
"type": 61,
|
||||
"valid": 0,
|
||||
"NPC": 10631,
|
||||
"data1": 1200206,
|
||||
"data2": 0,
|
||||
"data1": 1,
|
||||
"data2": 1200206,
|
||||
"data3": 0,
|
||||
"data4": 0,
|
||||
"data5": 0
|
||||
@ -7099,8 +7099,8 @@
|
||||
"type": 61,
|
||||
"valid": 0,
|
||||
"NPC": 10641,
|
||||
"data1": 1200303,
|
||||
"data2": 0,
|
||||
"data1": 1,
|
||||
"data2": 1200303,
|
||||
"data3": 0,
|
||||
"data4": 0,
|
||||
"data5": 0
|
||||
@ -7116,8 +7116,8 @@
|
||||
"type": 61,
|
||||
"valid": 0,
|
||||
"NPC": 10651,
|
||||
"data1": 1200306,
|
||||
"data2": 0,
|
||||
"data1": 1,
|
||||
"data2": 1200306,
|
||||
"data3": 0,
|
||||
"data4": 0,
|
||||
"data5": 0
|
||||
@ -7133,8 +7133,8 @@
|
||||
"type": 61,
|
||||
"valid": 0,
|
||||
"NPC": 10661,
|
||||
"data1": 1200403,
|
||||
"data2": 0,
|
||||
"data1": 1,
|
||||
"data2": 1200403,
|
||||
"data3": 0,
|
||||
"data4": 0,
|
||||
"data5": 0
|
||||
@ -7150,8 +7150,8 @@
|
||||
"type": 61,
|
||||
"valid": 0,
|
||||
"NPC": 10671,
|
||||
"data1": 1200406,
|
||||
"data2": 0,
|
||||
"data1": 1,
|
||||
"data2": 1200406,
|
||||
"data3": 0,
|
||||
"data4": 0,
|
||||
"data5": 0
|
||||
@ -7167,8 +7167,8 @@
|
||||
"type": 61,
|
||||
"valid": 0,
|
||||
"NPC": 10681,
|
||||
"data1": 1200503,
|
||||
"data2": 0,
|
||||
"data1": 1,
|
||||
"data2": 1200503,
|
||||
"data3": 0,
|
||||
"data4": 0,
|
||||
"data5": 0
|
||||
@ -7184,8 +7184,8 @@
|
||||
"type": 61,
|
||||
"valid": 0,
|
||||
"NPC": 10691,
|
||||
"data1": 1200506,
|
||||
"data2": 0,
|
||||
"data1": 1,
|
||||
"data2": 1200506,
|
||||
"data3": 0,
|
||||
"data4": 0,
|
||||
"data5": 0
|
||||
@ -7201,8 +7201,8 @@
|
||||
"type": 61,
|
||||
"valid": 0,
|
||||
"NPC": 10701,
|
||||
"data1": 1200603,
|
||||
"data2": 0,
|
||||
"data1": 1,
|
||||
"data2": 1200603,
|
||||
"data3": 0,
|
||||
"data4": 0,
|
||||
"data5": 0
|
||||
@ -7218,8 +7218,8 @@
|
||||
"type": 61,
|
||||
"valid": 0,
|
||||
"NPC": 10711,
|
||||
"data1": 1200606,
|
||||
"data2": 0,
|
||||
"data1": 1,
|
||||
"data2": 1200606,
|
||||
"data3": 0,
|
||||
"data4": 0,
|
||||
"data5": 0
|
||||
@ -7235,8 +7235,8 @@
|
||||
"type": 61,
|
||||
"valid": 0,
|
||||
"NPC": 10721,
|
||||
"data1": 1200703,
|
||||
"data2": 0,
|
||||
"data1": 1,
|
||||
"data2": 1200703,
|
||||
"data3": 0,
|
||||
"data4": 0,
|
||||
"data5": 0
|
||||
@ -7252,8 +7252,8 @@
|
||||
"type": 61,
|
||||
"valid": 0,
|
||||
"NPC": 10731,
|
||||
"data1": 1200706,
|
||||
"data2": 0,
|
||||
"data1": 1,
|
||||
"data2": 1200706,
|
||||
"data3": 0,
|
||||
"data4": 0,
|
||||
"data5": 0
|
||||
@ -7269,8 +7269,8 @@
|
||||
"type": 61,
|
||||
"valid": 0,
|
||||
"NPC": 10741,
|
||||
"data1": 1200803,
|
||||
"data2": 0,
|
||||
"data1": 1,
|
||||
"data2": 1200803,
|
||||
"data3": 0,
|
||||
"data4": 0,
|
||||
"data5": 0
|
||||
@ -7286,8 +7286,8 @@
|
||||
"type": 61,
|
||||
"valid": 0,
|
||||
"NPC": 10751,
|
||||
"data1": 1200806,
|
||||
"data2": 0,
|
||||
"data1": 1,
|
||||
"data2": 1200806,
|
||||
"data3": 0,
|
||||
"data4": 0,
|
||||
"data5": 0
|
||||
@ -7303,8 +7303,8 @@
|
||||
"type": 61,
|
||||
"valid": 0,
|
||||
"NPC": 10761,
|
||||
"data1": 1200903,
|
||||
"data2": 0,
|
||||
"data1": 1,
|
||||
"data2": 1200903,
|
||||
"data3": 0,
|
||||
"data4": 0,
|
||||
"data5": 0
|
||||
@ -7320,8 +7320,8 @@
|
||||
"type": 61,
|
||||
"valid": 0,
|
||||
"NPC": 10771,
|
||||
"data1": 1200906,
|
||||
"data2": 0,
|
||||
"data1": 1,
|
||||
"data2": 1200906,
|
||||
"data3": 0,
|
||||
"data4": 0,
|
||||
"data5": 0
|
||||
@ -7337,8 +7337,8 @@
|
||||
"type": 61,
|
||||
"valid": 0,
|
||||
"NPC": 10781,
|
||||
"data1": 12001003,
|
||||
"data2": 0,
|
||||
"data1": 1,
|
||||
"data2": 12001003,
|
||||
"data3": 0,
|
||||
"data4": 0,
|
||||
"data5": 0
|
||||
@ -7354,8 +7354,8 @@
|
||||
"type": 61,
|
||||
"valid": 0,
|
||||
"NPC": 10791,
|
||||
"data1": 12001006,
|
||||
"data2": 0,
|
||||
"data1": 1,
|
||||
"data2": 12001006,
|
||||
"data3": 0,
|
||||
"data4": 0,
|
||||
"data5": 0
|
||||
@ -7371,8 +7371,8 @@
|
||||
"type": 61,
|
||||
"valid": 0,
|
||||
"NPC": 10801,
|
||||
"data1": 12001103,
|
||||
"data2": 0,
|
||||
"data1": 1,
|
||||
"data2": 12001103,
|
||||
"data3": 0,
|
||||
"data4": 0,
|
||||
"data5": 0
|
||||
@ -7388,8 +7388,8 @@
|
||||
"type": 61,
|
||||
"valid": 0,
|
||||
"NPC": 10811,
|
||||
"data1": 12001106,
|
||||
"data2": 0,
|
||||
"data1": 1,
|
||||
"data2": 12001106,
|
||||
"data3": 0,
|
||||
"data4": 0,
|
||||
"data5": 0
|
||||
@ -7405,8 +7405,8 @@
|
||||
"type": 61,
|
||||
"valid": 0,
|
||||
"NPC": 10821,
|
||||
"data1": 12001203,
|
||||
"data2": 0,
|
||||
"data1": 1,
|
||||
"data2": 12001203,
|
||||
"data3": 0,
|
||||
"data4": 0,
|
||||
"data5": 0
|
||||
@ -7422,8 +7422,8 @@
|
||||
"type": 61,
|
||||
"valid": 0,
|
||||
"NPC": 10831,
|
||||
"data1": 12001206,
|
||||
"data2": 0,
|
||||
"data1": 1,
|
||||
"data2": 12001206,
|
||||
"data3": 0,
|
||||
"data4": 0,
|
||||
"data5": 0
|
||||
@ -11060,8 +11060,8 @@
|
||||
"type": 61,
|
||||
"valid": 0,
|
||||
"NPC": 0,
|
||||
"data1": 1100105,
|
||||
"data2": 0,
|
||||
"data1": 1,
|
||||
"data2": 1100105,
|
||||
"data3": 0,
|
||||
"data4": 0,
|
||||
"data5": 0
|
||||
|
@ -140,7 +140,8 @@ func (this *RtaskTestView) CreateView(t *model.TestCase) fyne.CanvasObject {
|
||||
}()
|
||||
|
||||
go func() {
|
||||
if this.resultCount == 0 {
|
||||
var flag bool
|
||||
for this.resultCount == 0 && flag {
|
||||
logrus.Debug("结束")
|
||||
|
||||
record := strings.Join(this.msgs, "\n")
|
||||
@ -158,6 +159,7 @@ func (this *RtaskTestView) CreateView(t *model.TestCase) fyne.CanvasObject {
|
||||
if _, err := file.WriteString(buf.String()); err != nil {
|
||||
logrus.Error(err)
|
||||
}
|
||||
flag = true
|
||||
}
|
||||
}()
|
||||
}
|
||||
|
@ -222,7 +222,7 @@ type (
|
||||
// 随机任务
|
||||
IRtask interface {
|
||||
// 条件校验
|
||||
CheckCondi(uid string, condiId int32) (code pb.ErrorCode)
|
||||
CheckCondi(uid string, condiId int32, p ...int32) (code pb.ErrorCode)
|
||||
// 多条件校验
|
||||
CheckCondis(uid string, condiIds ...int32) (condIds []int32)
|
||||
// 远程任务条件校验
|
||||
|
@ -75,6 +75,7 @@ func (this *ModelRtaskRecord) getRecord(uid string) *pb.DBRtaskRecord {
|
||||
if err == mongo.ErrNoDocuments {
|
||||
record.Id = primitive.NewObjectID().Hex()
|
||||
record.Ctime = configure.Now().Unix()
|
||||
record.Vals = make(map[int32]*pb.RtaskData)
|
||||
if err := this.Add(uid, record); err != nil {
|
||||
log.Errorln(err)
|
||||
return nil
|
||||
|
@ -72,7 +72,7 @@ func (this *ModelRtask) GetRtask(uid string) *pb.DBRtask {
|
||||
// }
|
||||
|
||||
// 确定选项前的校验
|
||||
func (this *ModelRtask) checkCondi(uid string, condiId int32, record *pb.DBRtaskRecord) (err error, ok bool) {
|
||||
func (this *ModelRtask) checkCondi(uid string, condiId int32, record *pb.DBRtaskRecord, params ...int32) (err error, ok bool) {
|
||||
if condiId <= 0 {
|
||||
return nil, true
|
||||
}
|
||||
@ -110,7 +110,7 @@ func (this *ModelRtask) checkCondi(uid string, condiId int32, record *pb.DBRtask
|
||||
return
|
||||
}
|
||||
|
||||
if ok, err = condi.verify(uid, record, conf); !ok {
|
||||
if ok, _, err = condi.verify(uid, record, conf, params...); !ok {
|
||||
err = errors.WithMessagef(err, "uid: %v do rtask [condiId:%v] condition not reach", uid, condiId)
|
||||
return
|
||||
}
|
||||
|
@ -30,7 +30,7 @@ type rtaskCondHandle struct {
|
||||
}
|
||||
|
||||
// 任务参数校验
|
||||
type verifyHandle func(uid string, record *pb.DBRtaskRecord, cfg *cfg.GameRdtaskCondiData) (bool, error)
|
||||
type verifyHandle func(uid string, record *pb.DBRtaskRecord, cfg *cfg.GameRdtaskCondiData, params ...int32) (bool, int32, error)
|
||||
|
||||
// 任务数据更新
|
||||
type updateDataHandle func(uid string, record *pb.DBRtaskRecord, cfg *cfg.GameRdtaskCondiData, vals ...int32) error
|
||||
@ -168,8 +168,7 @@ func (this *ModuleRtask) getHandle(tt comm.TaskType) (handles []*rtaskCondHandle
|
||||
|
||||
handles = append(handles, handle)
|
||||
this.registerVerifyHandle(v.Id, handle)
|
||||
case comm.Rtype16, comm.Rtype17,
|
||||
comm.Rtype35, comm.Rtype61:
|
||||
case comm.Rtype16, comm.Rtype17, comm.Rtype35:
|
||||
handle := &rtaskCondHandle{
|
||||
condId: v.Id,
|
||||
verify: this.modelRtaskRecord.verifyGreatEqual,
|
||||
@ -177,10 +176,17 @@ func (this *ModuleRtask) getHandle(tt comm.TaskType) (handles []*rtaskCondHandle
|
||||
}
|
||||
handles = append(handles, handle)
|
||||
this.registerVerifyHandle(v.Id, handle)
|
||||
case comm.Rtype61:
|
||||
handle := &rtaskCondHandle{
|
||||
condId: v.Id,
|
||||
verify: this.modelRtaskRecord.veriftyFirstGreatParam,
|
||||
update: this.modelRtaskRecord.addUpdate,
|
||||
}
|
||||
handles = append(handles, handle)
|
||||
this.registerVerifyHandle(v.Id, handle)
|
||||
case comm.Rtype23, comm.Rtype25, comm.Rtype30,
|
||||
comm.Rtype32, comm.Rtype33, comm.Rtype34, comm.Rtype36,
|
||||
comm.Rtype37, comm.Rtype40, comm.Rtype41,
|
||||
comm.Rtype42, comm.Rtype43,
|
||||
comm.Rtype37, comm.Rtype40,
|
||||
comm.Rtype46, comm.Rtype47, comm.Rtype73, comm.Rtype76, comm.Rtype77, comm.Rtype79, comm.Rtype80, comm.Rtype83,
|
||||
comm.Rtype52, comm.Rtype55, comm.Rtype56, comm.Rtype82,
|
||||
comm.Rtype65, comm.Rtype66, comm.Rtype67, comm.Rtype68, comm.Rtype70, comm.Rtype140,
|
||||
@ -192,6 +198,22 @@ func (this *ModuleRtask) getHandle(tt comm.TaskType) (handles []*rtaskCondHandle
|
||||
}
|
||||
handles = append(handles, handle)
|
||||
this.registerVerifyHandle(v.Id, handle)
|
||||
case comm.Rtype41, comm.Rtype42:
|
||||
handle := &rtaskCondHandle{
|
||||
condId: v.Id,
|
||||
verify: this.modelRtaskRecord.verifyThirdGreatEqualParam,
|
||||
update: this.modelRtaskRecord.addUpdate,
|
||||
}
|
||||
handles = append(handles, handle)
|
||||
this.registerVerifyHandle(v.Id, handle)
|
||||
case comm.Rtype43:
|
||||
handle := &rtaskCondHandle{
|
||||
condId: v.Id,
|
||||
verify: this.modelRtask.verifyRtype43,
|
||||
update: this.modelRtaskRecord.overrideUpdate,
|
||||
}
|
||||
handles = append(handles, handle)
|
||||
this.registerVerifyHandle(v.Id, handle)
|
||||
case comm.Rtype78:
|
||||
handle := &rtaskCondHandle{
|
||||
condId: v.Id,
|
||||
@ -268,8 +290,12 @@ func (this *ModuleRtask) processOneTask(session comm.IUserSession, rtaskType com
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if handle.verify != nil {
|
||||
if ok, d, _ := handle.verify(uid, record, conf, params...); ok {
|
||||
if handle.update != nil {
|
||||
if d > 0 {
|
||||
params[0] = d
|
||||
}
|
||||
if err := handle.update(uid, record, conf, params...); err != nil {
|
||||
log.Errorf("update task:%v", err)
|
||||
code = pb.ErrorCode_DBError
|
||||
@ -278,6 +304,9 @@ func (this *ModuleRtask) processOneTask(session comm.IUserSession, rtaskType com
|
||||
}
|
||||
condIds = append(condIds, handle.condId)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
update := map[string]interface{}{
|
||||
"vals": record.Vals,
|
||||
@ -286,7 +315,7 @@ func (this *ModuleRtask) processOneTask(session comm.IUserSession, rtaskType com
|
||||
this.modelRtaskRecord.Change(uid, update)
|
||||
|
||||
for _, condId := range condIds {
|
||||
if code = this.CheckCondi(uid, condId); code == pb.ErrorCode_Success {
|
||||
if code = this.CheckCondi(uid, condId, params...); code == pb.ErrorCode_Success {
|
||||
module, err := this.service.GetModule(comm.ModuleWorldtask)
|
||||
if err == nil {
|
||||
//世界任务
|
||||
@ -357,13 +386,13 @@ func (this *ModuleRtask) TriggerTask(uid string, taskParams ...*comm.TaskParam)
|
||||
}
|
||||
|
||||
// 任务条件校验
|
||||
func (this *ModuleRtask) CheckCondi(uid string, condiId int32) (code pb.ErrorCode) {
|
||||
func (this *ModuleRtask) CheckCondi(uid string, condiId int32, params ...int32) (code pb.ErrorCode) {
|
||||
record := this.modelRtaskRecord.getRecord(uid)
|
||||
if record == nil {
|
||||
code = pb.ErrorCode_DataNotFound
|
||||
return
|
||||
}
|
||||
if _, ok := this.modelRtask.checkCondi(uid, condiId, record); !ok {
|
||||
if _, ok := this.modelRtask.checkCondi(uid, condiId, record, params...); !ok {
|
||||
code = pb.ErrorCode_RtaskCondiNoReach
|
||||
return
|
||||
}
|
||||
|
@ -12,8 +12,8 @@ import (
|
||||
"github.com/spf13/cast"
|
||||
)
|
||||
|
||||
// GreatEqual
|
||||
func (this *ModelRtaskRecord) verifyGreatEqual(uid string, record *pb.DBRtaskRecord, cfg *cfg.GameRdtaskCondiData) (ok bool, err error) {
|
||||
// five params (1-GreatEqual 2-equal 3-equal 4-equal 5-equal)
|
||||
func (this *ModelRtaskRecord) verifyGreatEqual(uid string, record *pb.DBRtaskRecord, cfg *cfg.GameRdtaskCondiData, params ...int32) (ok bool, count int32, err error) {
|
||||
if record == nil {
|
||||
err = errors.WithMessagef(err, "玩家数据DBRtaskRecord空")
|
||||
return
|
||||
@ -24,145 +24,165 @@ func (this *ModelRtaskRecord) verifyGreatEqual(uid string, record *pb.DBRtaskRec
|
||||
err = errors.WithMessagef(err, "玩家参数数据缺失 %v", v.Data)
|
||||
return
|
||||
}
|
||||
params = toArr(v.Data)
|
||||
}
|
||||
|
||||
var paramLen int
|
||||
if paramLen, err = lenParam(cfg, toArr(v.Data)...); err == nil {
|
||||
if paramLen, err = lenParam(cfg, params...); err == nil {
|
||||
//参数比较,默认第一个参数soGreateEqual,其它soEqual
|
||||
switch paramLen {
|
||||
case 1:
|
||||
return soGreatEqual(v.Data[0], cfg.Data1)
|
||||
ok, err = soGreatEqual(params[0], cfg.Data1)
|
||||
return
|
||||
case 2:
|
||||
if ok, err = soGreatEqual(v.Data[0], cfg.Data1); !ok {
|
||||
if ok, err = soGreatEqual(params[0], cfg.Data1); !ok {
|
||||
return
|
||||
}
|
||||
if ok, err = soEqual(v.Data[1], cfg.Data2); !ok {
|
||||
if ok, err = soEqual(params[1], cfg.Data2); !ok {
|
||||
return
|
||||
}
|
||||
case 3:
|
||||
if ok, err = soGreatEqual(v.Data[0], cfg.Data1); !ok {
|
||||
if ok, err = soGreatEqual(params[0], cfg.Data1); !ok {
|
||||
return
|
||||
}
|
||||
if ok, err = soEqual(v.Data[1], cfg.Data2); !ok {
|
||||
if ok, err = soEqual(params[1], cfg.Data2); !ok {
|
||||
return
|
||||
}
|
||||
if ok, err = soEqual(v.Data[2], cfg.Data3); !ok {
|
||||
if ok, err = soEqual(params[2], cfg.Data3); !ok {
|
||||
return
|
||||
}
|
||||
case 4:
|
||||
if ok, err = soGreatEqual(v.Data[0], cfg.Data1); !ok {
|
||||
if ok, err = soGreatEqual(params[0], cfg.Data1); !ok {
|
||||
return
|
||||
}
|
||||
if ok, err = soEqual(v.Data[1], cfg.Data2); !ok {
|
||||
if ok, err = soEqual(params[1], cfg.Data2); !ok {
|
||||
return
|
||||
}
|
||||
if ok, err = soEqual(v.Data[2], cfg.Data3); !ok {
|
||||
if ok, err = soEqual(params[2], cfg.Data3); !ok {
|
||||
return
|
||||
}
|
||||
if ok, err = soEqual(v.Data[3], cfg.Data4); !ok {
|
||||
if ok, err = soEqual(params[3], cfg.Data4); !ok {
|
||||
return
|
||||
}
|
||||
case 5:
|
||||
if ok, err = soGreatEqual(v.Data[0], cfg.Data1); !ok {
|
||||
if ok, err = soGreatEqual(params[0], cfg.Data1); !ok {
|
||||
return
|
||||
}
|
||||
if ok, err = soEqual(v.Data[1], cfg.Data2); !ok {
|
||||
if ok, err = soEqual(params[1], cfg.Data2); !ok {
|
||||
return
|
||||
}
|
||||
if ok, err = soEqual(v.Data[2], cfg.Data3); !ok {
|
||||
if ok, err = soEqual(params[2], cfg.Data3); !ok {
|
||||
return
|
||||
}
|
||||
if ok, err = soEqual(v.Data[3], cfg.Data4); !ok {
|
||||
if ok, err = soEqual(params[3], cfg.Data4); !ok {
|
||||
return
|
||||
}
|
||||
if ok, err = soEqual(v.Data[4], cfg.Data5); !ok {
|
||||
if ok, err = soEqual(params[4], cfg.Data5); !ok {
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
func (this *ModelRtaskRecord) verifyFirstEqualParam(uid string, record *pb.DBRtaskRecord, cfg *cfg.GameRdtaskCondiData) (ok bool, err error) {
|
||||
if v, f := record.Vals[cfg.Id]; f {
|
||||
if len(v.Data) == 0 {
|
||||
err = errors.WithMessagef(err, "玩家参数数据缺失 %v", v.Data)
|
||||
return
|
||||
}
|
||||
return soEqual(v.Data[0], cfg.Data1)
|
||||
// firstParam (first-Equal)
|
||||
func (this *ModelRtaskRecord) verifyFirstEqualParam(uid string, record *pb.DBRtaskRecord, cfg *cfg.GameRdtaskCondiData, params ...int32) (ok bool, count int32, err error) {
|
||||
|
||||
if len(params) == 1 {
|
||||
|
||||
ok, err = soEqual(params[0], cfg.Data1)
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
func (this *ModelRtaskRecord) verifyFirstGreatEqualParam(uid string, record *pb.DBRtaskRecord, cfg *cfg.GameRdtaskCondiData) (ok bool, err error) {
|
||||
if v, f := record.Vals[cfg.Id]; f {
|
||||
if len(v.Data) == 0 {
|
||||
err = errors.WithMessagef(err, "玩家参数数据缺失 %v", v.Data)
|
||||
return
|
||||
// firstParam (first-greatEqual)
|
||||
func (this *ModelRtaskRecord) verifyFirstGreatEqualParam(uid string, record *pb.DBRtaskRecord, cfg *cfg.GameRdtaskCondiData, params ...int32) (ok bool, count int32, err error) {
|
||||
if len(params) == 1 {
|
||||
ok, err = soGreatEqual(params[0], cfg.Data1)
|
||||
}
|
||||
return soGreatEqual(v.Data[0], cfg.Data1)
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
func (this *ModelRtaskRecord) verifyThirdLessEqualParam(uid string, record *pb.DBRtaskRecord, cfg *cfg.GameRdtaskCondiData) (ok bool, err error) {
|
||||
if v, f := record.Vals[cfg.Id]; f {
|
||||
if len(v.Data) == 0 {
|
||||
err = errors.WithMessagef(err, "玩家参数数据缺失 %v", v.Data)
|
||||
return
|
||||
}
|
||||
// three params (first-greatEqual second-equal third-lessEqual)
|
||||
func (this *ModelRtaskRecord) verifyThirdLessEqualParam(uid string, record *pb.DBRtaskRecord, cfg *cfg.GameRdtaskCondiData, params ...int32) (ok bool, count int32, err error) {
|
||||
|
||||
var paramLen int
|
||||
if paramLen, err = lenParam(cfg, toArr(v.Data)...); err == nil {
|
||||
if paramLen, err = lenParam(cfg, params...); err == nil {
|
||||
//参数比较,默认第一个参数soGreateEqual,其它soEqual
|
||||
switch paramLen {
|
||||
case 1:
|
||||
return soGreatEqual(v.Data[0], cfg.Data1)
|
||||
ok, err = soGreatEqual(params[0], cfg.Data1)
|
||||
return
|
||||
case 2:
|
||||
if ok, err = soGreatEqual(v.Data[0], cfg.Data1); !ok {
|
||||
if ok, err = soGreatEqual(params[0], cfg.Data1); !ok {
|
||||
return
|
||||
}
|
||||
if ok, err = soEqual(v.Data[1], cfg.Data2); !ok {
|
||||
if ok, err = soEqual(params[1], cfg.Data2); !ok {
|
||||
return
|
||||
}
|
||||
case 3:
|
||||
if ok, err = soGreatEqual(v.Data[0], cfg.Data1); !ok {
|
||||
if ok, err = soGreatEqual(params[0], cfg.Data1); !ok {
|
||||
return
|
||||
}
|
||||
if ok, err = soEqual(v.Data[1], cfg.Data2); !ok {
|
||||
if ok, err = soEqual(params[1], cfg.Data2); !ok {
|
||||
return
|
||||
}
|
||||
if ok, err = soLessEqual(v.Data[2], cfg.Data3); !ok {
|
||||
if ok, err = soLessEqual(params[2], cfg.Data3); !ok {
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
func (this *ModelRtaskRecord) veriftyFirstGreatParam(uid string, record *pb.DBRtaskRecord, cfg *cfg.GameRdtaskCondiData) (ok bool, err error) {
|
||||
if v, f := record.Vals[cfg.Id]; f {
|
||||
if len(v.Data) == 0 {
|
||||
err = errors.WithMessagef(err, "玩家参数数据缺失 %v", v.Data)
|
||||
return
|
||||
}
|
||||
|
||||
// three params (first-greatEqual second-equal third-greatEqual)
|
||||
func (this *ModelRtaskRecord) verifyThirdGreatEqualParam(uid string, record *pb.DBRtaskRecord, cfg *cfg.GameRdtaskCondiData, params ...int32) (ok bool, count int32, err error) {
|
||||
var paramLen int
|
||||
if paramLen, err = lenParam(cfg, toArr(v.Data)...); err == nil {
|
||||
if paramLen, err = lenParam(cfg, params...); err == nil {
|
||||
//参数比较,默认第一个参数soGreateEqual,其它soEqual
|
||||
switch paramLen {
|
||||
case 1:
|
||||
return soGreat(v.Data[0], cfg.Data1)
|
||||
ok, err = soGreatEqual(params[0], cfg.Data1)
|
||||
return
|
||||
case 2:
|
||||
if ok, err = soGreat(v.Data[0], cfg.Data1); !ok {
|
||||
if ok, err = soGreatEqual(params[0], cfg.Data1); !ok {
|
||||
return
|
||||
}
|
||||
if ok, err = soEqual(v.Data[1], cfg.Data2); !ok {
|
||||
if ok, err = soEqual(params[1], cfg.Data2); !ok {
|
||||
return
|
||||
}
|
||||
case 3:
|
||||
if ok, err = soGreatEqual(params[0], cfg.Data1); !ok {
|
||||
return
|
||||
}
|
||||
if ok, err = soEqual(params[1], cfg.Data2); !ok {
|
||||
return
|
||||
}
|
||||
if ok, err = soGreatEqual(params[2], cfg.Data3); !ok {
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// two params(first-Great second-Equal)
|
||||
func (this *ModelRtaskRecord) veriftyFirstGreatParam(uid string, record *pb.DBRtaskRecord, cfg *cfg.GameRdtaskCondiData, params ...int32) (ok bool, count int32, err error) {
|
||||
var paramLen int
|
||||
if paramLen, err = lenParam(cfg, params...); err == nil {
|
||||
//参数比较,默认第一个参数soGreateEqual,其它soEqual
|
||||
switch paramLen {
|
||||
case 1:
|
||||
ok, err = soGreat(params[0], cfg.Data1)
|
||||
return
|
||||
case 2:
|
||||
if ok, err = soGreat(params[0], cfg.Data1); !ok {
|
||||
return
|
||||
}
|
||||
if ok, err = soEqual(params[1], cfg.Data2); !ok {
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -170,7 +190,7 @@ func (this *ModelRtaskRecord) veriftyFirstGreatParam(uid string, record *pb.DBRt
|
||||
}
|
||||
|
||||
// 英雄指定
|
||||
func (this *ModelRtask) verfiyRtype1(uid string, record *pb.DBRtaskRecord, cfg *cfg.GameRdtaskCondiData) (ok bool, err error) {
|
||||
func (this *ModelRtask) verfiyRtype1(uid string, record *pb.DBRtaskRecord, cfg *cfg.GameRdtaskCondiData, params ...int32) (ok bool, err error) {
|
||||
heroModule, err := this.service.GetModule(comm.ModuleHero)
|
||||
if err != nil {
|
||||
return false, err
|
||||
@ -189,7 +209,7 @@ func (this *ModelRtask) verfiyRtype1(uid string, record *pb.DBRtaskRecord, cfg *
|
||||
|
||||
// 剧情
|
||||
// Deprecated
|
||||
func (this *ModelRtask) verifyRtype2(uid string, record *pb.DBRtaskRecord, cfg *cfg.GameRdtaskCondiData) (ok bool, err error) {
|
||||
func (this *ModelRtask) verifyRtype2(uid string, record *pb.DBRtaskRecord, cfg *cfg.GameRdtaskCondiData, params ...int32) (ok bool, err error) {
|
||||
m, err := this.service.GetModule(comm.ModuleMline)
|
||||
if err != nil {
|
||||
return
|
||||
@ -203,7 +223,7 @@ func (this *ModelRtask) verifyRtype2(uid string, record *pb.DBRtaskRecord, cfg *
|
||||
}
|
||||
|
||||
// 每日任务
|
||||
func (this *ModelRtask) verifyRtype3(uid string, record *pb.DBRtaskRecord, cfg *cfg.GameRdtaskCondiData) (ok bool, err error) {
|
||||
func (this *ModelRtask) verifyRtype3(uid string, record *pb.DBRtaskRecord, cfg *cfg.GameRdtaskCondiData, params ...int32) (ok bool, count int32, err error) {
|
||||
m, err := this.service.GetModule(comm.ModuleTask)
|
||||
if err != nil {
|
||||
return
|
||||
@ -221,7 +241,7 @@ func (this *ModelRtask) verifyRtype3(uid string, record *pb.DBRtaskRecord, cfg *
|
||||
}
|
||||
|
||||
// 指定英雄等级
|
||||
func (this *ModelRtask) verifyRtype4(uid string, record *pb.DBRtaskRecord, cfg *cfg.GameRdtaskCondiData) (ok bool, err error) {
|
||||
func (this *ModelRtask) verifyRtype4(uid string, record *pb.DBRtaskRecord, cfg *cfg.GameRdtaskCondiData, params ...int32) (ok bool, count int32, err error) {
|
||||
m, err := this.service.GetModule(comm.ModuleHero)
|
||||
if err != nil {
|
||||
return
|
||||
@ -248,7 +268,7 @@ func (this *ModelRtask) verifyRtype4(uid string, record *pb.DBRtaskRecord, cfg *
|
||||
}
|
||||
|
||||
// 指定英雄的指定装备数量
|
||||
func (this *ModelRtask) verifyRtype5(uid string, record *pb.DBRtaskRecord, cfg *cfg.GameRdtaskCondiData) (ok bool, err error) {
|
||||
func (this *ModelRtask) verifyRtype5(uid string, record *pb.DBRtaskRecord, cfg *cfg.GameRdtaskCondiData, params ...int32) (ok bool, err error) {
|
||||
m, err := this.service.GetModule(comm.ModuleHero)
|
||||
if err != nil {
|
||||
return
|
||||
@ -285,7 +305,7 @@ func (this *ModelRtask) verifyRtype5(uid string, record *pb.DBRtaskRecord, cfg *
|
||||
}
|
||||
|
||||
// 指定英雄星级
|
||||
func (this *ModelRtask) verifyRtype6(uid string, record *pb.DBRtaskRecord, cfg *cfg.GameRdtaskCondiData) (ok bool, err error) {
|
||||
func (this *ModelRtask) verifyRtype6(uid string, record *pb.DBRtaskRecord, cfg *cfg.GameRdtaskCondiData, params ...int32) (ok bool, err error) {
|
||||
m, err := this.service.GetModule(comm.ModuleHero)
|
||||
if err != nil {
|
||||
return
|
||||
@ -311,7 +331,7 @@ func (this *ModelRtask) verifyRtype6(uid string, record *pb.DBRtaskRecord, cfg *
|
||||
}
|
||||
|
||||
// 日常登录一次
|
||||
func (this *ModelRtask) verfiyRtype7(uid string, record *pb.DBRtaskRecord, cfg *cfg.GameRdtaskCondiData) (ok bool, err error) {
|
||||
func (this *ModelRtask) verfiyRtype7(uid string, record *pb.DBRtaskRecord, cfg *cfg.GameRdtaskCondiData, params ...int32) (ok bool, err error) {
|
||||
userModule, err := this.service.GetModule(comm.ModuleUser)
|
||||
if err != nil {
|
||||
return
|
||||
@ -326,7 +346,7 @@ func (this *ModelRtask) verfiyRtype7(uid string, record *pb.DBRtaskRecord, cfg *
|
||||
}
|
||||
|
||||
// 累计登陆xx天
|
||||
func (this *ModelRtask) verfiyRtype8(uid string, record *pb.DBRtaskRecord, cfg *cfg.GameRdtaskCondiData) (ok bool, err error) {
|
||||
func (this *ModelRtask) verfiyRtype8(uid string, record *pb.DBRtaskRecord, cfg *cfg.GameRdtaskCondiData, params ...int32) (ok bool, err error) {
|
||||
userModule, err := this.service.GetModule(comm.ModuleUser)
|
||||
if err != nil {
|
||||
return
|
||||
@ -343,7 +363,7 @@ func (this *ModelRtask) verfiyRtype8(uid string, record *pb.DBRtaskRecord, cfg *
|
||||
}
|
||||
|
||||
// 连续登陆xx天 未埋点的处理方法
|
||||
func (this *ModelRtask) verfiyRtype9(uid string, record *pb.DBRtaskRecord, cfg *cfg.GameRdtaskCondiData) (ok bool, err error) {
|
||||
func (this *ModelRtask) verfiyRtype9(uid string, record *pb.DBRtaskRecord, cfg *cfg.GameRdtaskCondiData, params ...int32) (ok bool, count int32, err error) {
|
||||
userModule, err := this.service.GetModule(comm.ModuleUser)
|
||||
if err != nil {
|
||||
return
|
||||
@ -352,15 +372,15 @@ func (this *ModelRtask) verfiyRtype9(uid string, record *pb.DBRtaskRecord, cfg *
|
||||
if um, y := userModule.(comm.IUser); y {
|
||||
ud, err := um.GetUserExpand(uid)
|
||||
if err != nil {
|
||||
return false, err
|
||||
return false, 0, err
|
||||
}
|
||||
return soGreatEqual(ud.LoginContinueCount, cfg.Data1)
|
||||
ok, err = soGreatEqual(ud.LoginContinueCount, cfg.Data1)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// 拥有xx个好友
|
||||
func (this *ModelRtask) verfiyRtype10(uid string, record *pb.DBRtaskRecord, cfg *cfg.GameRdtaskCondiData) (ok bool, err error) {
|
||||
func (this *ModelRtask) verfiyRtype10(uid string, record *pb.DBRtaskRecord, cfg *cfg.GameRdtaskCondiData, params ...int32) (ok bool, count int32, err error) {
|
||||
m, err := this.service.GetModule(comm.ModuleFriend)
|
||||
if err != nil {
|
||||
return
|
||||
@ -368,13 +388,13 @@ func (this *ModelRtask) verfiyRtype10(uid string, record *pb.DBRtaskRecord, cfg
|
||||
|
||||
if mi, y := m.(comm.IFriend); y {
|
||||
count := mi.GetFriendCount(uid)
|
||||
return soGreatEqual(count, cfg.Data1)
|
||||
ok, err = soGreatEqual(count, cfg.Data1)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// 用户等级达到xx级
|
||||
func (this *ModelRtask) verifyRtype20(uid string, record *pb.DBRtaskRecord, cfg *cfg.GameRdtaskCondiData) (ok bool, err error) {
|
||||
func (this *ModelRtask) verifyRtype20(uid string, record *pb.DBRtaskRecord, cfg *cfg.GameRdtaskCondiData, params ...int32) (ok bool, count int32, err error) {
|
||||
userModule, err := this.service.GetModule(comm.ModuleUser)
|
||||
if err != nil {
|
||||
return
|
||||
@ -382,14 +402,15 @@ func (this *ModelRtask) verifyRtype20(uid string, record *pb.DBRtaskRecord, cfg
|
||||
|
||||
if um, y := userModule.(comm.IUser); y {
|
||||
if user := um.GetUser(uid); user != nil {
|
||||
return soGreatEqual(user.Lv, cfg.Data1)
|
||||
ok, err = soGreatEqual(user.Lv, cfg.Data1)
|
||||
return
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// 日常任务活跃度达到xx
|
||||
func (this *ModelRtask) verifyRtype63(uid string, record *pb.DBRtaskRecord, cfg *cfg.GameRdtaskCondiData) (ok bool, err error) {
|
||||
func (this *ModelRtask) verifyRtype63(uid string, record *pb.DBRtaskRecord, cfg *cfg.GameRdtaskCondiData, params ...int32) (ok bool, count int32, err error) {
|
||||
userModule, err := this.service.GetModule(comm.ModuleUser)
|
||||
if err != nil {
|
||||
return
|
||||
@ -398,11 +419,11 @@ func (this *ModelRtask) verifyRtype63(uid string, record *pb.DBRtaskRecord, cfg
|
||||
if um, y := userModule.(comm.IUser); y {
|
||||
de, err := um.GetUserExpand(uid)
|
||||
if err != nil {
|
||||
return false, err
|
||||
return false, 0, err
|
||||
}
|
||||
|
||||
if de != nil {
|
||||
return soGreatEqual(de.Activeday, cfg.Data1)
|
||||
ok, err = soGreatEqual(de.Activeday, cfg.Data1)
|
||||
}
|
||||
}
|
||||
|
||||
@ -410,7 +431,7 @@ func (this *ModelRtask) verifyRtype63(uid string, record *pb.DBRtaskRecord, cfg
|
||||
}
|
||||
|
||||
// 记录玩家在线时间并记入进度
|
||||
func (this *ModelRtask) verifyRtype138(uid string, record *pb.DBRtaskRecord, cfg *cfg.GameRdtaskCondiData) (ok bool, err error) {
|
||||
func (this *ModelRtask) verifyRtype138(uid string, record *pb.DBRtaskRecord, cfg *cfg.GameRdtaskCondiData, params ...int32) (ok bool, count int32, err error) {
|
||||
userModule, err := this.service.GetModule(comm.ModuleUser)
|
||||
if err != nil {
|
||||
return
|
||||
@ -420,7 +441,22 @@ func (this *ModelRtask) verifyRtype138(uid string, record *pb.DBRtaskRecord, cfg
|
||||
if user := um.GetUser(uid); user != nil {
|
||||
now := configure.Now().Unix()
|
||||
l := (now - user.Logintime) / 60
|
||||
return soGreatEqual(int32(l), cfg.Data1)
|
||||
ok, err = soGreatEqual(int32(l), cfg.Data1)
|
||||
return
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func (this *ModelRtask) verifyRtype43(uid string, record *pb.DBRtaskRecord, cfg *cfg.GameRdtaskCondiData, params ...int32) (ok bool, count int32, err error) {
|
||||
|
||||
equipment, ec := this.moduleRtask.ModuleEquipment.QueryEquipments(uid)
|
||||
if ec == pb.ErrorCode_Success {
|
||||
for _, e := range equipment {
|
||||
if ok, _ = soGreatEqual(e.Lv, cfg.Data2); ok {
|
||||
count++
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
return
|
||||
|
Loading…
Reference in New Issue
Block a user