This commit is contained in:
liwei1dao 2022-11-14 11:25:28 +08:00
commit 1de8195fb3
13 changed files with 154 additions and 103 deletions

View File

@ -11,7 +11,7 @@
"task_display": "新剧情文本10100",
"npc": [
"scenes_ boundary_02",
"阿宝",
"阿宝组件名",
"600"
],
"getafter_event": [
@ -151,6 +151,11 @@
"a": "attr",
"t": "diamond",
"n": 100
},
{
"a": "item",
"t": "30001",
"n": 10
}
]
},
@ -196,7 +201,7 @@
"task_display": "新剧情文本10106",
"npc": [
"scenes_ boundary_02",
"邦尼兔组件名",
"阿宝组件名",
"606"
],
"getafter_event": [
@ -226,7 +231,7 @@
"task_display": "新剧情文本10107",
"npc": [
"scenes_ boundary_02",
"邦尼兔组件名",
"阿宝组件名",
"607"
],
"getafter_event": [
@ -256,7 +261,7 @@
"task_display": "新剧情文本10108",
"npc": [
"scenes_ boundary_02",
"邦尼兔组件名",
"阿宝组件名",
"608"
],
"getafter_event": [
@ -586,7 +591,7 @@
"task_display": "新剧情文本10119",
"npc": [
"scenes_ boundary_02",
"阿宝组件名",
"阿宝维京区",
"619"
],
"getafter_event": [
@ -616,7 +621,7 @@
"task_display": "新剧情文本10120",
"npc": [
"scenes_ boundary_02",
"阿宝组件名",
"阿宝维京区",
"620"
],
"getafter_event": [
@ -646,7 +651,7 @@
"task_display": "新剧情文本10121",
"npc": [
"scenes_ boundary_02",
"阿宝组件名",
"阿宝维京区",
"621"
],
"getafter_event": [
@ -676,7 +681,7 @@
"task_display": "新剧情文本10122",
"npc": [
"scenes_ boundary_02",
"阿宝组件名",
"阿宝维京区",
"622"
],
"getafter_event": [
@ -706,7 +711,7 @@
"task_display": "新剧情文本10123",
"npc": [
"scenes_ boundary_02",
"阿宝组件名",
"阿宝维京区",
"623"
],
"getafter_event": [

24
comm/error.go Normal file
View File

@ -0,0 +1,24 @@
package comm
import (
"go_dreamfactory/pb"
"github.com/pkg/errors"
)
type CustomError struct {
Code pb.ErrorCode `json:"code"` // 业务码
Message string `json:"message"` // 业务码
}
func (e *CustomError) Error() string {
return e.Code.String()
}
func NewCustomError(code pb.ErrorCode) error {
// 初次调用得用Wrap方法进行实例化
return errors.Wrap(&CustomError{
Code: code,
Message: code.String(),
}, "")
}

28
comm/error_test.go Normal file
View File

@ -0,0 +1,28 @@
package comm
import (
"errors"
"fmt"
"go_dreamfactory/pb"
"strings"
"testing"
)
func TestErro(t *testing.T) {
err := findUser("ddada")
if err != nil {
var customErr = new(CustomError)
if errors.As(err, &customErr) {
if customErr.Code == pb.ErrorCode_UserSessionNobeing {
fmt.Println("用户不存在")
}
}
}
}
func findUser(uid string) error {
if strings.Contains(uid, "z_") {
return NewCustomError(pb.ErrorCode_UserSessionNobeing)
}
return nil
}

12
go.mod
View File

@ -36,7 +36,7 @@ require (
github.com/valyala/fastrand v1.1.0
go.mongodb.org/mongo-driver v1.5.1
go.uber.org/multierr v1.6.0
golang.org/x/net v0.0.0-20220722155237-a158d28d115b
golang.org/x/net v0.2.0
google.golang.org/protobuf v1.28.0
gopkg.in/yaml.v2 v2.4.0
)
@ -178,11 +178,11 @@ require (
golang.org/x/crypto v0.0.0-20220824171710-5757bc0c5503
golang.org/x/image v0.0.0-20220601225756-64ec528b34cd // indirect
golang.org/x/mobile v0.0.0-20211207041440-4e6c2922fdee // indirect
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 // indirect
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4 // indirect
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab // indirect
golang.org/x/text v0.3.7 // indirect
golang.org/x/tools v0.1.12 // indirect
golang.org/x/mod v0.7.0 // indirect
golang.org/x/sync v0.1.0 // indirect
golang.org/x/sys v0.2.0 // indirect
golang.org/x/text v0.4.0 // indirect
golang.org/x/tools v0.3.0 // indirect
gopkg.in/ini.v1 v1.66.6 // indirect
gopkg.in/natefinch/lumberjack.v2 v2.0.0 // indirect
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect

24
go.sum
View File

@ -906,8 +906,8 @@ golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro=
golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY=
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 h1:6zppjxzCulZykYSLyVDYbneBfbaBIQPYMevg0bEwv2s=
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
golang.org/x/mod v0.7.0 h1:LapD9S96VoQRhi/GrNTqeBJFrUjs5UHCAtTlgwA5oZA=
golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@ -964,8 +964,8 @@ golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qx
golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20211216030914-fe4d6282115f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20220407224826-aac1ed45d8e3/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
golang.org/x/net v0.0.0-20220722155237-a158d28d115b h1:PxfKdU9lEEDYjdIzOtC4qFWgkU2rGHdKlKowJSMN9h0=
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
golang.org/x/net v0.2.0 h1:sZfSu1wtKLGlWI4ZZayP0ck9Y73K1ynO6gqzTdBVdPU=
golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20181017192945-9dcd33a902f4/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20181203162652-d668ce993890/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
@ -993,8 +993,8 @@ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJ
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4 h1:uVc8UZUe6tr40fFVnUP5Oj+veunVezqYl9z7DYw9xzw=
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o=
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@ -1075,11 +1075,12 @@ golang.org/x/sys v0.0.0-20220408201424-a24fb2fb8a0f/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab h1:2QkjZIsXupsJbJIdSjjUOgWK3aEtzyuh2mPt3l/CkeU=
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.2.0 h1:ljd4t30dBnAvMZaQCevtY0xLLD0A+bRZXbgLMLU1F/A=
golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 h1:JGgROgKl9N8DuW20oFS5gxc+lE67/N3FcwmBPMe7ArY=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.2.0 h1:z85xZCsEl7bi/KwbNADeBYoOP0++7W1ipu+aGnpwzRM=
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@ -1088,8 +1089,9 @@ golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/text v0.4.0 h1:BrVqGRd7+k1DiOgtnFvAkoQEWQvBc25ouMJM6429SFg=
golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
@ -1164,8 +1166,8 @@ golang.org/x/tools v0.1.6-0.20210726203631-07bc1bf47fb2/go.mod h1:o0xws9oXOQQZyj
golang.org/x/tools v0.1.8-0.20211022200916-316ba0b74098/go.mod h1:LGqMHiF4EqQNHR1JncWGqT5BVaXmza+X+BDGol+dOxo=
golang.org/x/tools v0.1.8/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU=
golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E=
golang.org/x/tools v0.1.12 h1:VveCTK38A2rkS8ZqFY25HIDFscX5X9OoEhJd3quQmXU=
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
golang.org/x/tools v0.3.0 h1:SrNbZl6ECOS1qFzgTdQfWXZM9XBkiA6tkFrH9YSTPHM=
golang.org/x/tools v0.3.0/go.mod h1:/rWhSS2+zyEVwoJf8YAX6L2f0ntZ7Kn/mGgAWcipA5k=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=

View File

@ -176,7 +176,7 @@ func (this *Battle) CreatePvpBattle(session comm.IUserSession, req *pb.BattlePVP
//校验战报是否成功
func (this *Battle) CheckBattleReport(session comm.IUserSession, report *pb.BattleReport) (code pb.ErrorCode, iswin bool) {
this.moonfantasy.Trigger(session, report)
// this.moonfantasy.Trigger(session, report)
return pb.ErrorCode_Success, true
}

View File

@ -10,14 +10,16 @@ import (
/* GM 在控制台输入的字符串类型
//bingo:item,10001,1
//bingo:attr,gold,1000000
//bingo:equi,xxx,1 // xxx 装备id
2修改主线关卡进度bingo:mapid,102102代表关卡位置
3修改心魔塔进度bingo:pataid,1010代表层数
4修改玩家经验值bingo:exp,10001000代表新增的经验值 //
4修改玩家经验值bingo:attr,exp,10001000代表新增的经验值 //
5跳过随机任务 bingo:rtask,1,1001
6bingo:Iamyoudad
7bingo:vip,yueka_1,1 // 月卡类型
*/
//参数校验
func (this *apiComp) CmdCheck(session comm.IUserSession, req *pb.GMCmdReq) (code pb.ErrorCode) {

View File

@ -36,31 +36,6 @@ func (this *ModelRank) Init(service core.IService, module core.IModule, comp cor
return
}
func (this *ModelRank) AddRank(uId string, data *pb.DBPagodaRecord) (err error) {
if err = this.Add(uId, data); err != nil {
//this.Errorf("err:%v", err)
return
}
return nil
}
//获取用户通过扩展表
// func (this *ModelRank) GetUserRandData(uid string) (result *pb.DBPagodaRecord, err error) {
// result = &pb.DBPagodaRecord{}
// if err = this.Get(uid, result); err != nil && redis.RedisNil != err {
// return
// }
// err = nil
// return result, err
// }
func (this *ModelRank) ChangeUserRank(uid string, value map[string]interface{}) (err error) {
if len(value) == 0 {
return nil
}
return this.Change(uid, value)
}
func (this *ModelRank) GetRankData() (data []*pb.DBPagodaRecord, err error) {
data = make([]*pb.DBPagodaRecord, 0)
if conn, err := db.Cross(); err == nil {
@ -243,12 +218,6 @@ func (this *ModelRank) SetNormalPagodaRankList(tableName string, score int32, ui
}
func (this *ModelRank) seasonSettlement() {
list := this.modulePagoda.configure.GetPagodaSeasonReward()
if list == nil {
return
}
rankReward := this.modulePagoda.configure.GetPagodaSeasonReward()
if rankReward == nil {
return

View File

@ -287,12 +287,26 @@ func (this *ModuleRtask) SendToRtask(session comm.IUserSession, rtaskType comm.T
if err == nil {
if worldtask, ok := module.(comm.IWorldtask); ok {
if err := worldtask.TaskcondNotify(session, v.cfg.Id); err != nil {
var customErr = new(comm.CustomError)
if errors.As(err, &customErr) {
notifyErr := &pb.NotifyErrorNotifyPush{
ReqMainType: string(comm.ModuleWorldtask),
ReqSubType: "finish",
Code: pb.ErrorCode_WorldtaskLvNotEnough,
Message: "",
}
if customErr.Code == pb.ErrorCode_WorldtaskLvNotEnough {
session.SendMsg(string(comm.ModuleWorldtask), "finish", notifyErr)
} else {
log.Errorf("任务条件达成通知 失败 err:%v", err)
}
}
}
}
}
}
}
return
}

View File

@ -59,7 +59,9 @@ func (this *SeasonPagoda) Start() (err error) {
configure.RegisterConfigure(game_seasonreward, cfg.NewGamePagodaSeasonReward, nil)
cron.AddFunc("0 0 23 L * ?", this.TimerSeasonOver) //每月最后一天23点执行一次
cron.AddFunc("0 0 5 /* * ?", this.TimerSeasonStar) //每月第一天5点执行一次
if db.IsCross() {
return
}
conn, err := db.Cross()
if err == nil {
model := db.NewDBModel(comm.TableServerData, 0, conn)
@ -86,18 +88,7 @@ func (this *SeasonPagoda) Start() (err error) {
return
}
func (this *SeasonPagoda) CreatTestData(index int) {
seasonPagoda := &pb.DBPagoda{}
seasonPagoda.Id = primitive.NewObjectID().Hex()
seasonPagoda.Uid = "dfmxf_634f8f28609d489230fb40fa"
seasonPagoda.PagodaId = int32(index) // 初始数据0层
seasonPagoda.Type = 201 // TODO 新的塔数据根据配置文件获取
if err := this.Add(seasonPagoda.Uid, seasonPagoda); err != nil {
this.module.Errorf("err:%v", err)
return
}
}
func (this *SeasonPagoda) GetSeasonReward() []int32 {
sz := make([]int32, 0)
if v, err := this.GetConfigure(game_seasonreward); err != nil {

View File

@ -20,6 +20,9 @@ func (this *apiComp) Battlefinish(session comm.IUserSession, req *pb.WorldtaskBa
return
}
defer func() {
this.module.Errorf("战斗结束 taskId:%v", req.TaskId)
}()
taskConf, err := this.module.configure.getWorldtaskById(req.TaskId)
if err != nil || taskConf == nil {
code = pb.ErrorCode_ConfigNoFound

View File

@ -37,7 +37,7 @@ func (this *ModelWorldtask) getWorldtask(uid string) (*pb.DBWorldtask, error) {
}
//判断前置任务是否完成
func(this *ModelWorldtask) IsPreFinished(userTask *pb.DBWorldtask, curTaskConf *cfg.GameWorldTaskData)bool{
func (this *ModelWorldtask) IsPreFinished(userTask *pb.DBWorldtask, curTaskConf *cfg.GameWorldTaskData) bool {
var (
lastTaskId int32
preTaskFinished bool
@ -57,6 +57,16 @@ func(this *ModelWorldtask) IsPreFinished(userTask *pb.DBWorldtask, curTaskConf *
return preTaskFinished
}
// 判断任务是否已完成
func (this *ModelWorldtask) isFinished(taskId int32, list []*pb.Worldtask) bool {
for _, v := range list {
if v.TaskId == taskId {
return true
}
}
return false
}
// 完成任务
func (this *ModelWorldtask) finishTask(groupId, taskId int32, task *pb.DBWorldtask) error {
if task == nil {

View File

@ -77,23 +77,27 @@ func (this *Worldtask) TaskcondNotify(session comm.IUserSession, condId int32) e
if userTask.Uid != "" {
//查找任务ID根据condId 可能会找出不同的任务
// 遍历配置表
for k, id := range finishedTaskIds {
// 判断任务是否已完成
if this.modelWorldtask.isFinished(id, userTask.TaskList) {
continue
}
taskConf, err := this.configure.getWorldtaskById(id)
if err != nil {
return err
}
if taskConf != nil {
if !this.modelWorldtask.IsPreFinished(userTask, taskConf) {
return nil
this.Errorf("世界任务已完成 uid:%v 要求taskid:%v", uid, id)
continue
}
if taskConf.AutoAccept == 1 { //自动截取,返回下一个任务
nextTaskId = taskConf.IdAfter
// 判断玩家等级要求
if user.Lv < taskConf.Lock {
return fmt.Errorf("等级不满足 uid:%v 要求lv:%v", uid, taskConf.Lock)
this.Errorf("等级不满足 uid:%v 要求lv:%v", uid, taskConf.Lock)
return comm.NewCustomError(pb.ErrorCode_WorldtaskLvNotEnough)
}
//完成任务
@ -101,7 +105,7 @@ func (this *Worldtask) TaskcondNotify(session comm.IUserSession, condId int32) e
this.Errorf("世界任务完成失败 err:%v", err)
return err
}
this.Debugf("任务条件达成完成 condId:%v group:%v taskId:%d", condId, k, id)
//发奖
if code := this.DispenseRes(session, taskConf.Reword, true); code != pb.ErrorCode_Success {
this.Errorf("资源发放失败 err:%v", err)
@ -119,7 +123,6 @@ func (this *Worldtask) TaskcondNotify(session comm.IUserSession, condId int32) e
}
}
}
}