娃娃机抓取后结果通知修改

This commit is contained in:
kxdd 2024-09-06 09:41:41 +08:00
parent e1e805f9d8
commit 8f59f4d03a
4 changed files with 49 additions and 15 deletions

View File

@ -71,3 +71,7 @@ const (
Zego_ForbidRTCStream = iota + 1
Zego_ResumeRTCStream = iota + 1
)
const (
ClawDoorItemID = 40003
)

View File

@ -2,6 +2,7 @@ package clawdoll
import (
"mongo.games.com/game/common"
rule "mongo.games.com/game/gamerule/clawdoll"
"mongo.games.com/game/gamesrv/base"
"mongo.games.com/game/protocol/clawdoll"
"mongo.games.com/game/protocol/machine"
@ -52,10 +53,20 @@ func (h *CSPlayerOpHandler) Process(s *netlib.Session, packetid int, data interf
func MSDollMachineoCoinResultHandler(session *netlib.Session, packetId int, data interface{}) error {
logger.Logger.Tracef("收到返回上分结果!!!!!!!!!!")
if msg, ok := data.(*machine.MSDollMachineoPerateResult); ok {
p := base.PlayerMgrSington.GetPlayerBySnId(msg.GetSnid())
if p == nil {
logger.Logger.Warn("CSGetTokenHandler p == nil")
logger.Logger.Warn("MSDollMachineoCoinResultHandler p == nil")
return nil
}
s := p.GetScene()
if s == nil {
logger.Logger.Warn("MSDollMachineoCoinResultHandler p.scene == nil")
return nil
}
sceneEx, ok := s.ExtraData.(*SceneEx)
if !ok {
return nil
}
@ -68,10 +79,17 @@ func MSDollMachineoCoinResultHandler(session *netlib.Session, packetId int, data
}
case 2:
if msg.Result == 1 {
// 获得娃娃卡
logger.Logger.Tracef("下抓成功snid = ", msg.Snid)
} else {
logger.Logger.Tracef("下抓失败snid = ", msg.Snid)
}
s.ChangeSceneState(rule.ClawDollSceneStateBilled)
sceneEx.SetPlayingState(int32(rule.ClawDollSceneStateBilled))
ClawdollBroadcastRoomState(s)
ClawdollSendPlayerInfo(s)
}
}
return nil

View File

@ -1,7 +1,9 @@
package clawdoll
import (
rule "mongo.games.com/game/gamerule/clawdoll"
"mongo.games.com/game/gamesrv/base"
"mongo.games.com/game/srvdata"
"mongo.games.com/goserver/core/logger"
)
@ -37,11 +39,18 @@ func (this *PlayerEx) CanOp(sceneEx *SceneEx) bool {
// 能否投币
func (this *PlayerEx) CanPayCoin() bool {
itemID := int32(rule.ClawDoorItemID)
itemData := srvdata.GameItemMgr.Get(this.Platform, itemID)
if itemData == nil {
return false
}
return true
}
// 投币消耗
func (this *PlayerEx) CostPlayCoin() bool {
func (this *PlayerEx) CostPlayCoin(count int32) bool {
return true
}
@ -106,3 +115,16 @@ func (this *PlayerEx) GetClawState() int32 {
func (this *PlayerEx) SetClawState(state int32) {
this.clawDollState = state
}
func (this *PlayerEx) GetItemCount(itemID int32) int64 {
itemData := srvdata.GameItemMgr.Get(this.Platform, itemID)
if itemData != nil {
v, ok := this.Items[itemID]
if ok {
return v
} else {
return 0
}
}
return 0
}

View File

@ -67,6 +67,7 @@ func (this *PolicyClawdoll) OnTick(s *base.Scene) {
sceneEx, ok := s.ExtraData.(*SceneEx)
if ok {
if sceneEx.machineId == 0 {
//machineId := s.DBGameFree.GetId() % 6080000
sceneEx.machineId = action.GetFreeDollMachineId()
}
if sceneEx.machineId != 0 {
@ -666,12 +667,6 @@ func (this *PlayGame) OnPlayerOp(s *base.Scene, p *base.Player, opcode int, para
//1-弱力抓 2 -强力抓
sceneEx.OnPlayerSMGrabOp(p.SnId, int32(sceneEx.machineId), grapType)
s.ChangeSceneState(rule.ClawDollSceneStateBilled)
sceneEx.SetPlayingState(int32(rule.ClawDollSceneStateBilled))
ClawdollBroadcastRoomState(s)
ClawdollSendPlayerInfo(s)
case rule.ClawDollPlayerOpMove:
if !sceneEx.CheckMoveOp(playerEx) {
@ -702,11 +697,6 @@ func (this *PlayGame) OnTick(s *base.Scene) {
logger.Logger.Trace("PlayGame OnTick TimeOutPlayGrab SnId", sceneEx.playingSnid, " machineId:", sceneEx.machineId)
}
s.ChangeSceneState(rule.ClawDollSceneStateBilled)
sceneEx.SetPlayingState(int32(rule.ClawDollSceneStateBilled))
ClawdollBroadcastRoomState(s)
ClawdollSendPlayerInfo(s)
return
}
}