From 75bdacbd1172711dd08f7d2baba5e89ef2b813ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=98=94=E5=BF=B5?= <1@72wo.cn> Date: Tue, 9 Dec 2025 00:47:21 +0800 Subject: [PATCH] =?UTF-8?q?fix(talk):=20=E4=BF=AE=E6=94=B9=E5=AF=B9?= =?UTF-8?q?=E8=AF=9D=E8=AE=A1=E6=95=B0=E9=80=BB=E8=BE=91=E4=B8=AD=E7=9A=84?= =?UTF-8?q?=E9=94=99=E8=AF=AF=E7=A0=81=E8=BF=94=E5=9B=9E=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 将检查失败时的错误码返回值从 ErrResourceUnavailable 改为 0, 以确保在资源不可用时能正确处理返回结果。 feat(player): 增加玩家经验获取的时间限制判断 在 CanGetExp 方法中新增时间上限判断逻辑,当今日游戏时间已达 --- logic/controller/talk.go | 2 +- logic/service/player/save.go | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/logic/controller/talk.go b/logic/controller/talk.go index 17f6fe265..f84e3902d 100644 --- a/logic/controller/talk.go +++ b/logic/controller/talk.go @@ -13,7 +13,7 @@ func (h Controller) Talk(data *item.TalkCountInboundInfo, c *player.Player) (res result = &item.TalkCountOutboundInfo{} cid, ok := c.Service.Talk.Cheak(c.Info.MapID, int(data.ID)) if !ok { - return result, errorcode.ErrorCodes.ErrResourceUnavailable + return result, 0 } result.GiftCount = uint32(cid) diff --git a/logic/service/player/save.go b/logic/service/player/save.go index e01b3b687..884cd3d3c 100644 --- a/logic/service/player/save.go +++ b/logic/service/player/save.go @@ -60,7 +60,12 @@ func (p *Player) Save() { // 是否可以获得经验 func (p *Player) CanGetExp() bool { + if p.Info.TimeToday >= p.Info.TimeLimit { + return false + } + ttt := p.Info.TimeLimit - p.Info.TimeToday + return (uint32(time.Now().Unix()) - uint32(p.Logintime)) <= ttt }