diff --git a/gamesrv/clawdoll/scene_clawdoll.go b/gamesrv/clawdoll/scene_clawdoll.go index 7b063fb..56e9e5d 100644 --- a/gamesrv/clawdoll/scene_clawdoll.go +++ b/gamesrv/clawdoll/scene_clawdoll.go @@ -74,7 +74,7 @@ type SceneEx struct { // 游戏是否能开始 func (this *SceneEx) CanStart() bool { //人数>=1自动开始 - if len(this.players) >= 1 && (this.GetRealPlayerNum() >= 1 || this.IsPreCreateScene() || this.IsHasPlaying()) { + if len(this.players) >= 1 && (this.GetRealPlayerNum() >= 1 || this.IsPreCreateScene() || this.IsHasPlaying()) && this.machineStatus == 1 { return true } return false @@ -191,7 +191,6 @@ func (this *SceneEx) ClawdollCreateRoomInfoPacket(s *base.Scene, p *base.Player) RoundId: proto.Int(this.RoundId), ParamsEx: nil, GameFreeId: 0, - BaseScore: proto.Int32(this.GetBaseScore()), } // 玩家信息 diff --git a/gamesrv/clawdoll/scenepolicy_clawdoll.go b/gamesrv/clawdoll/scenepolicy_clawdoll.go index 13b1d9b..9eaf13c 100644 --- a/gamesrv/clawdoll/scenepolicy_clawdoll.go +++ b/gamesrv/clawdoll/scenepolicy_clawdoll.go @@ -77,7 +77,7 @@ func (this *PolicyClawdoll) OnTick(s *base.Scene) { if machineStatus == 0 { //链接状态不可用 踢出所有玩家 for _, p := range sceneEx.players { - sceneEx.delPlayer(p.Player) + sceneEx.PlayerLeave(p.Player, common.PlayerLeaveReason_RoomClose, false) } sceneEx.machineStatus = 0 logger.Logger.Trace("娃娃机离线,当前场景暂停服务!") @@ -97,7 +97,6 @@ func (this *PolicyClawdoll) OnPlayerEnter(s *base.Scene, p *base.Player) { if s == nil || p == nil { return } - logger.Logger.Trace("(this *PolicyClawdoll) OnPlayerEnter, sceneId=", s.GetSceneId(), " player=", p.SnId) if sceneEx, ok := s.ExtraData.(*SceneEx); ok { playerEx := &PlayerEx{Player: p} diff --git a/protocol/clawdoll/clawdoll.proto b/protocol/clawdoll/clawdoll.proto index 3c57c6d..59b7f12 100644 --- a/protocol/clawdoll/clawdoll.proto +++ b/protocol/clawdoll/clawdoll.proto @@ -52,9 +52,8 @@ message SCCLAWDOLLRoomInfo { int32 TimeOut = 6; //该状态已经历时间 单位:秒 repeated CLAWDOLLPlayerData Players = 7; //房间内的玩家信息 int32 TotalPlayer = 8; //房间总人数 - int32 RoundId = 9; //当前局数ID - repeated int32 ParamsEx = 10; //其他参数 - + int32 RoundId = 9; //当前局数ID + repeated int32 ParamsEx = 10; //其他参数 int32 GameFreeId = 15; int32 BaseScore = 16; //基础分 }