悬赏任务加权重
This commit is contained in:
parent
ba04b59dcc
commit
acd896bb24
@ -7,7 +7,6 @@ import (
|
|||||||
"go_dreamfactory/modules"
|
"go_dreamfactory/modules"
|
||||||
"go_dreamfactory/pb"
|
"go_dreamfactory/pb"
|
||||||
"go_dreamfactory/sys/configure"
|
"go_dreamfactory/sys/configure"
|
||||||
"go_dreamfactory/utils"
|
|
||||||
|
|
||||||
"go.mongodb.org/mongo-driver/mongo"
|
"go.mongodb.org/mongo-driver/mongo"
|
||||||
"go.mongodb.org/mongo-driver/x/bsonx"
|
"go.mongodb.org/mongo-driver/x/bsonx"
|
||||||
@ -63,7 +62,9 @@ func (this *modelDispatch) getTasksWeight(dispatch *pb.DBDispatch) int32 {
|
|||||||
confList, err := this.module.configure.getDispatchTaskConfByType(int32(i + 1))
|
confList, err := this.module.configure.getDispatchTaskConfByType(int32(i + 1))
|
||||||
|
|
||||||
var tIds []int32
|
var tIds []int32
|
||||||
|
var weights []int32
|
||||||
for _, v := range confList {
|
for _, v := range confList {
|
||||||
|
weights = append(weights, v.Weight)
|
||||||
if v.Completecount == 0 {
|
if v.Completecount == 0 {
|
||||||
tIds = append(tIds, v.Id)
|
tIds = append(tIds, v.Id)
|
||||||
} else if v.Completecount > 0 {
|
} else if v.Completecount > 0 {
|
||||||
@ -76,11 +77,13 @@ func (this *modelDispatch) getTasksWeight(dispatch *pb.DBDispatch) int32 {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
idex := utils.RandomNumbers(0, len(tIds), 1)
|
|
||||||
if len(idex) == 0 {
|
idex := comm.GetRandW(weights)
|
||||||
return 0
|
// idex := utils.RandomNumbers(0, len(tIds), 1)
|
||||||
}
|
// if len(idex) == 0 {
|
||||||
return tIds[idex[0]]
|
// return 0
|
||||||
|
// }
|
||||||
|
return tIds[idex]
|
||||||
}
|
}
|
||||||
|
|
||||||
// 随机任务
|
// 随机任务
|
||||||
|
@ -13,6 +13,7 @@ import "errors"
|
|||||||
type GameDispatch_TaskData struct {
|
type GameDispatch_TaskData struct {
|
||||||
Id int32
|
Id int32
|
||||||
Type int32
|
Type int32
|
||||||
|
Weight int32
|
||||||
Taskname string
|
Taskname string
|
||||||
Icon string
|
Icon string
|
||||||
Taskcd int32
|
Taskcd int32
|
||||||
@ -37,6 +38,7 @@ func (*GameDispatch_TaskData) GetTypeId() int32 {
|
|||||||
func (_v *GameDispatch_TaskData)Deserialize(_buf map[string]interface{}) (err error) {
|
func (_v *GameDispatch_TaskData)Deserialize(_buf map[string]interface{}) (err error) {
|
||||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["id"].(float64); !_ok_ { err = errors.New("id error"); return }; _v.Id = int32(_tempNum_) }
|
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["id"].(float64); !_ok_ { err = errors.New("id error"); return }; _v.Id = int32(_tempNum_) }
|
||||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["type"].(float64); !_ok_ { err = errors.New("type error"); return }; _v.Type = int32(_tempNum_) }
|
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["type"].(float64); !_ok_ { err = errors.New("type error"); return }; _v.Type = int32(_tempNum_) }
|
||||||
|
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["weight"].(float64); !_ok_ { err = errors.New("weight error"); return }; _v.Weight = int32(_tempNum_) }
|
||||||
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["taskname"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Taskname error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Taskname, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
|
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["taskname"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Taskname error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Taskname, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
|
||||||
{ var _ok_ bool; if _v.Icon, _ok_ = _buf["icon"].(string); !_ok_ { err = errors.New("icon error"); return } }
|
{ var _ok_ bool; if _v.Icon, _ok_ = _buf["icon"].(string); !_ok_ { err = errors.New("icon error"); return } }
|
||||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["taskcd"].(float64); !_ok_ { err = errors.New("taskcd error"); return }; _v.Taskcd = int32(_tempNum_) }
|
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["taskcd"].(float64); !_ok_ { err = errors.New("taskcd error"); return }; _v.Taskcd = int32(_tempNum_) }
|
||||||
|
Loading…
Reference in New Issue
Block a user