From bb4f3716ce112bf2660e4701e9c576e891392723 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Mon, 6 Jan 2025 17:56:47 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=94=A6=E6=A0=87=E8=B5=9Bbu?= =?UTF-8?q?g?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/ChampshipMgr.go | 15 ++++++++------- src/server/game/GameLogic.go | 5 +++-- src/server/game/Player.go | 3 +++ 3 files changed, 14 insertions(+), 9 deletions(-) diff --git a/src/server/game/ChampshipMgr.go b/src/server/game/ChampshipMgr.go index cfd75874..52d97259 100644 --- a/src/server/game/ChampshipMgr.go +++ b/src/server/game/ChampshipMgr.go @@ -1,6 +1,7 @@ package game import ( + "math" "server/GoUtil" champshipCfg "server/conf/champship" randnameCfg "server/conf/randname" @@ -143,21 +144,21 @@ func (c *ChampshipMgr) ai(m *msg.Msg) (interface{}, error) { Notify := make(map[int]int) for e, r := range v { if r.Type == RANK_PLAYER_ROBOT { - AddScore := 0 + AddScore := 0.0 Robot := ChampshipData.Robot[r.Uid] if Robot == nil { continue } if Robot.Type == 2 && Robot.Time+60 < Now { - AddScore = int(Robot.PerScore) + AddScore = Robot.PerScore Robot.Time = Now } if Robot.Type == 3 && Robot.Time+1800 < Now { - AddScore = int(Robot.PerScore) + AddScore = Robot.PerScore Robot.Time = Now } - r.Score += float64(AddScore) + r.Score += AddScore } else { Notify[r.Uid] = e } @@ -692,12 +693,12 @@ func CreateRobot(M float64, GroupId int) *ChampshipRobot { Score := M / 10 PerScore := 0.0 if Type == 2 { - PerScore = (M / 10 * 0.34) / float64(GoUtil.NextZeroTimestampDuration()) / 60 + PerScore = math.Round((M/10*0.34)/(float64(GoUtil.NextZeroTimestampDuration())/60)*100) / 100 Score = M / 10 * 0.66 } if Type == 3 { - PerScore = (M / 10 * 0.34) / float64(GoUtil.NextZeroTimestampDuration()) / 1800 - Score = 0 + PerScore = math.Round((M/10*0.34)/(float64(GoUtil.NextZeroTimestampDuration())/1800)*100) / 100 + Score = 2 } return &ChampshipRobot{ diff --git a/src/server/game/GameLogic.go b/src/server/game/GameLogic.go index e7fe0241..f9d8178d 100644 --- a/src/server/game/GameLogic.go +++ b/src/server/game/GameLogic.go @@ -102,8 +102,9 @@ func (gl *GameLogic) ZeroFlush() { }) var a1 = []interface{}{gl.DailyTaskTimestamp} GoUtil.CallEvent(MergeConst.Notify_Daily_Renew, a1) - gl.RankMgrSend(MsgMod.MSG_ZERO_UPDATE) // 零点更新排行榜 - gl.VarMgrSend(MsgMod.MSG_ZERO_UPDATE) // 零点更新变量 + gl.RankMgrSend(MsgMod.MSG_ZERO_UPDATE) // 零点更新排行榜 + gl.ChampshipMgrSend(MsgMod.MSG_ZERO_UPDATE) // 零点更新锦标赛 + gl.VarMgrSend(MsgMod.MSG_ZERO_UPDATE) // 零点更新变量 gl.NotifyAll(MsgMod.MSG_ZERO_UPDATE) gl.CreateDailyLogFile() } diff --git a/src/server/game/Player.go b/src/server/game/Player.go index b7e8a544..16f4de98 100644 --- a/src/server/game/Player.go +++ b/src/server/game/Player.go @@ -691,6 +691,9 @@ func (p *Player) GetSimpleData(Uid int, simple *PlayerSimpleData) error { p.M_DwUin = int64(Uid) p.InitPlayerOnly() Base := p.GetPlayerBaseMod() + if Base == nil { + return errors.New("GetSimpleData failed") + } simple.Name = p.GetPlayerBaseMod().GetName() simple.Avatar = p.PlayMod.getAvatarMod().SetId simple.Face = p.PlayMod.getFaceMod().SetId