From 06343ab6fcb5a8fd7d4544a3a7d144053b744233 Mon Sep 17 00:00:00 2001 From: sk <123456@qq.com> Date: Thu, 11 Jul 2024 11:56:34 +0800 Subject: [PATCH] =?UTF-8?q?=E9=80=9A=E8=A1=8C=E8=AF=81=E6=B4=BB=E5=8A=A8?= =?UTF-8?q?=E7=BB=9F=E8=AE=A1=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data/DB_GiftCard.dat | Bin 57 -> 57 bytes data/DB_PropExchange.dat | Bin 384 -> 384 bytes data/DB_Task.dat | Bin 2441 -> 4861 bytes data/DB_Task.json | 141 +++++++++++++++++++++ model/permit.go | 16 +++ mq/keyconf.go | 1 + protocol/server/pbdata.pb.go | 238 +++++++++++++++++++---------------- protocol/server/pbdata.proto | 18 +-- worldsrv/action_task.go | 20 +++ worldsrv/bagmgr.go | 28 +++-- worldsrv/logchannel.go | 1 + worldsrv/player.go | 1 + worldsrv/trascate_webapi.go | 1 + xlsx/DB_Task.xlsx | Bin 21841 -> 21835 bytes 14 files changed, 338 insertions(+), 127 deletions(-) diff --git a/data/DB_GiftCard.dat b/data/DB_GiftCard.dat index 96640b07f274cbbbda035ee3e52503c8356a73cb..15600367ff42a73b75826e6378f02a3bde3a8661 100644 GIT binary patch delta 38 pcmcDtoFJjd#&NNYS%6E4lVf2oo4|o-8=15?Aj}q919mG$1^~Z739kSE delta 38 pcmcDtoFJjd$+57PP2j+^jZ8{x92eV|1-P_0AVMv+2JBXh3;@YB39kSE diff --git a/data/DB_PropExchange.dat b/data/DB_PropExchange.dat index 38a4306b938abc656073e14d10f5475a4782b1cd..e92894d815782195906f1df1f0c8b0a85363b1a9 100644 GIT binary patch literal 384 zcmd-w<6snElw#w!(#8y?uR`f-Q2IKQz6_$3I5-yevI!h$vE|a^U;?YZ0hPZArEfv$ z+i2>;IUwev$OG+#*$1-+W)93;u)Rp`1G`I!6YP$LwU1c1VmVl_Ivi%e9jJrQ4MKMa TiUX9`ITisu`h}T`fwm9;W->fA literal 384 zcmd-w<6snElw#w!(#8y?uR`f-Q2IKQz6_$3I5-yevI!h$vE|a^U;?YZ1(m-IrEfs# zn`r98IUwev$OG+#=>wZjgge0YDRF|`(XjRr3s)=$3)mqr18{i&>>!{8FbBgt40907 UA$PzIXXjW1^yn96E(Y2{0AxZuH2?qr diff --git a/data/DB_Task.dat b/data/DB_Task.dat index 1be10935614b86a0dcfc2524841147388dab4cf2..428266c1c34a5638865bf4323c292f89d7a6f723 100644 GIT binary patch literal 4861 zcma)=%Tp9r6vi{J=F%WE!|+B-h$du{G+3mjq9CZH0S)CMuy7q0sY>|=WHl%fLFzv=VOaA zOc|>dR7paHLY)AsA{lTjSL?f|&o3tyPBPP~+-gqnzTptdWVNGCet{6UlJ?6hZYuSw zPLJZ2Um}^Pd)n_J9(P>K zOpGs2OkCzQWcjdlt-f5n9X0g}YA)WjtTVI}Dj8^2k(HvQ*3#nRS|a1QruA-l4=GZJ zEj~}orCPNB#(FW!u~uOMyz=X$Sjn^jN}ZB1Q+W#{)_ZP~2uX4iDN*GAOR8l>p>51W zJ(xOdLS-!BQYFiVDsvR2GFBo3ve@bw`|_NnFd!cwc}CZp?y#X-#Qus;N42ib#O>Q! z*KDPR*xg-*X~l6>gIfUz1vi@-fvO1aENU_q)_fh z$98ZjKTZ2hiU*VfWS~XK=M;NFDVPU8+olRX89;*uth0J&w<$~oX8gs@8xjL zy6J3#8){LuaZXW6Y2b7UXl!6Ayp@C2Jr6+89x^`aLMvKD&bQ5Axws8y#k-j+^FS1EM8O6XT*fA@TnD4ffg!l!4Ki2QWW+dQ zXP=Hb>dFm3p5u_hjY7B*XIBoAPZ!;ok(Mjz4}utwtW6|Gcbdo=Kr#oFr#(>`lhz_R zy3|DO0;N0!weFVW>{c`R45&hm+Ulr^%W`z>5cwRe@~5x__axIj?wYliz`eud9$=Lm zR^cp+D|2?So*i^KO~LFm_HKG}+KwX@CQXKL!UD-2j^aEC7B3zSFBdG$xBd?o8AO@7kP}}?DWAkJUGB- ztKb2Ge?hQ6eQ+%guHnIg0rGAVLvS$<_Or|_**tpPeq6K7=JDaiq#?Q@eKZPhWi6az zg-su)dmZ81d3e6<$9cTaJ;JUczeav<#hENK85&89pG`#DD~pp8owy|>R<6X)pNr2J z2Ul%sNb8=flGHr&7JC^7mjJ5vM=K5qLTmtQFurt0AHI5FwiT##2*=qXgpBhX<--ns}(a>h%OPMwV89t{<-){ z!~_%yx+`#v_`4O?Ga-0~)_Wqh*rQEO$8HU4qf6$q0|p|-EVkT@w literal 2441 zcmaKu&uVG9!NHOXDXI_$ zhmsbFRu%n4k7)u3l}n(|BEf;*LU83$XlcLmW_EW1v2Uw+pLzSf-}h#ATT2x3ObLccp(e|IZL4m!Gz4%NHJkMVj&x@9L<9*Y z@NLN1Zyt+OC@VCCs?BmY!txNyU+-KFutB0;6M1DKg3N{(%fl$rEZ@!X@;SI9p?(DK zjkJ8PG7~r2M)CT{X>%@f=j~YKZfH zhW*y7(A9xFavxQdr$?LJR$5~( zwJ=1A30Q0Zj9W@%E*N4rEH=dYnUR!OI&sMP6w4VZ!f7U!=RsJ9Wil71FNLx}pSMs* zY#O!k*N17Etds!VoTHO1ILg$@%llqEXGUDskg-!OHEOZz-}mOyY!AMfa99LvKdrRX zZi{W*+k9mv*o^@}uBJQ;2b5?B5spaMfI&w8-E ziFNu3P>G=d@_q)ihoM38egQSZ)F64k{TgDNW89bhCLqPo0C`scO)@k< z-c>+*85$(-8mL*O`pawB8yQsIyVbzE;R^WE)u3Crp@x~tOhDU`Q^?dD{Q+v6DbEJ4 zfeyP3tjyTX8X4P9cYsYZ)<>n|{sdQNu8&UUG(Ef>;r@ Award = 7; + int64 TargetTimes = 7; - int32 GameType = 8; + int64 FinishTimes = 8; - repeated int32 Position = 9; + map Award = 9; + + int32 GameType = 10; + + repeated int32 Position = 11; } diff --git a/worldsrv/action_task.go b/worldsrv/action_task.go index 214cc07..4dc2465 100644 --- a/worldsrv/action_task.go +++ b/worldsrv/action_task.go @@ -171,6 +171,8 @@ func CSTaskReward(s *netlib.Session, packetId int, data interface{}, sid int64) return nil } + now := time.Now() + ret := &taskproto.SCTaskReward{ OpCode: taskproto.OpResultCode_OPRC_Error, Tp: msg.GetTp(), @@ -181,6 +183,14 @@ func CSTaskReward(s *netlib.Session, packetId int, data interface{}, sid int64) f := func(id int32) { if IsTaskFinish(p, id) && !IsTaskReward(p, id) { p.WelfData.Task[id].Ts = time.Now().Unix() + // 任务完成记录 + taskLog := &model.BackendPermitTask{ + Platform: p.Platform, + StartTs: PlatformMgrSingleton.GetConfig(p.Platform).PermitStartTs, + SnId: p.SnId, + TaskId: id, + Ts: now.Unix(), + } data := srvdata.PBDB_TaskMgr.GetData(id) if data != nil { SendReward(p, data.Award, msg.Tp) @@ -190,7 +200,17 @@ func CSTaskReward(s *netlib.Session, packetId int, data interface{}, sid int64) } ret.Reward[k] = ret.Reward[k] + vv } + for k, v := range ret.Reward { + taskLog.Gain = append(taskLog.Gain, model.AwardItem{ + Id: int32(k), + Num: v, + }) + } + taskLog.TaskName = data.GetDes() + taskLog.ActivityType = data.GetActivityType() + taskLog.TaskType = data.GetTaskType() } + LogChannelSingleton.WriteLog(taskLog) ret.OpCode = taskproto.OpResultCode_OPRC_Success } } diff --git a/worldsrv/bagmgr.go b/worldsrv/bagmgr.go index e9ae6db..e9063bb 100644 --- a/worldsrv/bagmgr.go +++ b/worldsrv/bagmgr.go @@ -176,7 +176,6 @@ func (this *BagMgr) AddItems(p *Player, addItems []*Item, add int64, gainWay int cost = params[0].Cost } - longItem := this.GetItem(p.SnId, common.ItemIDPermit) var items []*Item for _, v := range addItems { if v == nil || v.ItemNum == 0 { @@ -220,7 +219,7 @@ func (this *BagMgr) AddItems(p *Player, addItems []*Item, add int64, gainWay int } // 添加道具到背包 - + var permitScore, long int64 var changeItems []int32 var newBagInfo *BagInfo if _, exist := this.PlayerBag[p.SnId]; !exist { @@ -329,6 +328,12 @@ func (this *BagMgr) AddItems(p *Player, addItems []*Item, add int64, gainWay int p.VCardCost = 0 } } + if v.ItemId == common.ItemIDPermit && v.ItemNum > 0 { + permitScore += v.ItemNum + } + if v.ItemId == common.ItemIDLong && v.ItemNum > 0 { + long += v.ItemNum + } } if len(changeItems) > 0 { @@ -353,14 +358,6 @@ func (this *BagMgr) AddItems(p *Player, addItems []*Item, add int64, gainWay int StartTs: startTs, Ts: time.Now().Unix(), }) - // 参与赛季通行证活动 - if longItem == nil || longItem.ItemNum == 0 { - LogChannelSingleton.WriteLog(&model.BackendPermitJoin{ - Platform: p.Platform, - StartTs: PlatformMgrSingleton.GetConfig(p.Platform).PermitStartTs, - SnId: p.SnId, - }) - } } } if v == common.ItemIDLong { @@ -368,6 +365,17 @@ func (this *BagMgr) AddItems(p *Player, addItems []*Item, add int64, gainWay int } } + if permitScore > 0 || long > 0 { + LogChannelSingleton.WriteLog(&model.BackendPermitJoin{ + Platform: p.Platform, + StartTs: PlatformMgrSingleton.GetConfig(p.Platform).PermitStartTs, + SnId: p.SnId, + Score: permitScore, + Long: long, + Ts: time.Now().Unix(), + }) + } + if code != bag.OpResultCode_OPRC_Sucess { return newBagInfo, code, false } diff --git a/worldsrv/logchannel.go b/worldsrv/logchannel.go index 322554d..d40723b 100644 --- a/worldsrv/logchannel.go +++ b/worldsrv/logchannel.go @@ -68,4 +68,5 @@ func init() { LogChannelSingleton.RegisterLogCName(mq.BackSystemPermitRank, &model.BackendPermitRank{}) LogChannelSingleton.RegisterLogCName(mq.BackSystemPermitExchange, &model.BackendPermitExchange{}) LogChannelSingleton.RegisterLogCName(mq.BackSystemPermitJoin, &model.BackendPermitJoin{}) + LogChannelSingleton.RegisterLogCName(mq.BackSystemPermitTask, &model.BackendPermitTask{}) } diff --git a/worldsrv/player.go b/worldsrv/player.go index f9dad6a..09a8aa4 100644 --- a/worldsrv/player.go +++ b/worldsrv/player.go @@ -3948,6 +3948,7 @@ func (this *Player) GetPayGoodsInfo() { Platform: this.Platform, StartTs: PlatformMgrSingleton.GetConfig(this.Platform).PermitStartTs, SnId: this.SnId, + Ts: time.Now().Unix(), }) } switch info.Remark { diff --git a/worldsrv/trascate_webapi.go b/worldsrv/trascate_webapi.go index 7eba2e7..0c6c392 100644 --- a/worldsrv/trascate_webapi.go +++ b/worldsrv/trascate_webapi.go @@ -3471,6 +3471,7 @@ func init() { Platform: player.Platform, StartTs: PlatformMgrSingleton.GetConfig(player.Platform).PermitStartTs, SnId: player.SnId, + Ts: time.Now().Unix(), }) } switch info.Remark { diff --git a/xlsx/DB_Task.xlsx b/xlsx/DB_Task.xlsx index 46c4eaea1705050bc5fa30e3991014bc7993afba..ff4abe0574b23be87e9e8a7a24152e80c3a52678 100644 GIT binary patch delta 12890 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 delta 12914 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