任务随机修改
This commit is contained in:
parent
00eab14456
commit
49917a6443
@ -136,20 +136,19 @@ func (this *modelDispatch) taskRandom(uid string, dispatch *pb.DBDispatch) (task
|
|||||||
|
|
||||||
func (this *modelDispatch) randomTask(dispatch *pb.DBDispatch, n int) (tasks []*pb.DispatchTask) {
|
func (this *modelDispatch) randomTask(dispatch *pb.DBDispatch, n int) (tasks []*pb.DispatchTask) {
|
||||||
total := 0
|
total := 0
|
||||||
|
existmap := make(map[int32]int32)
|
||||||
|
for _, v := range dispatch.Nb.Tasks {
|
||||||
|
if v != nil {
|
||||||
|
existmap[v.TaskId] = v.TaskId
|
||||||
|
}
|
||||||
|
}
|
||||||
for total < n {
|
for total < n {
|
||||||
rid := this.getTasksWeight(dispatch.Nb.Lv)
|
rid := this.getTasksWeight(dispatch.Nb.Lv)
|
||||||
if rid == 0 {
|
if rid == 0 {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
//去重
|
|
||||||
exist := false
|
if _, ok := existmap[rid]; !ok {
|
||||||
for _, v := range dispatch.Nb.Tasks {
|
|
||||||
if v != nil && v.TaskId == rid {
|
|
||||||
exist = true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//不存在
|
|
||||||
if !exist {
|
|
||||||
tasks = append(tasks, &pb.DispatchTask{
|
tasks = append(tasks, &pb.DispatchTask{
|
||||||
TaskId: rid,
|
TaskId: rid,
|
||||||
})
|
})
|
||||||
|
@ -10,6 +10,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func lenParam(cfg *cfg.GameRdtaskCondiData, vals ...int32) (n int, err error) {
|
func lenParam(cfg *cfg.GameRdtaskCondiData, vals ...int32) (n int, err error) {
|
||||||
|
|
||||||
if cfg.Data1 != 0 && cfg.Data2 != 0 && cfg.Data3 != 0 && cfg.Data4 != 0 && cfg.Data5 != 0 {
|
if cfg.Data1 != 0 && cfg.Data2 != 0 && cfg.Data3 != 0 && cfg.Data4 != 0 && cfg.Data5 != 0 {
|
||||||
if len(vals) != 5 {
|
if len(vals) != 5 {
|
||||||
err = errors.New(fmt.Sprintf("%v 参数个数不一致,期望5实际是%v", cfg.Id, len(vals)))
|
err = errors.New(fmt.Sprintf("%v 参数个数不一致,期望5实际是%v", cfg.Id, len(vals)))
|
||||||
@ -50,7 +51,7 @@ func lenParam(cfg *cfg.GameRdtaskCondiData, vals ...int32) (n int, err error) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if cfg.Data1 != 0 {
|
if cfg.Data1 != 0 && vals[0] != 0 {
|
||||||
if len(vals) != 1 {
|
if len(vals) != 1 {
|
||||||
err = errors.New(fmt.Sprintf("%v 参数个数不一致,期望1实际是%v", cfg.Id, len(vals)))
|
err = errors.New(fmt.Sprintf("%v 参数个数不一致,期望1实际是%v", cfg.Id, len(vals)))
|
||||||
return
|
return
|
||||||
@ -149,7 +150,7 @@ func greatEual(actual, expected int32) bool {
|
|||||||
return actual >= expected
|
return actual >= expected
|
||||||
}
|
}
|
||||||
|
|
||||||
//小于等于
|
// 小于等于
|
||||||
func lessEqual(actual, expected int32) bool {
|
func lessEqual(actual, expected int32) bool {
|
||||||
return actual <= expected
|
return actual <= expected
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user