修复playroom bug

This commit is contained in:
hahwu 2024-12-17 16:26:54 +08:00
parent fc67916525
commit 6104d52803
5 changed files with 11 additions and 6 deletions

View File

@ -186,6 +186,9 @@ func PlayroomTrigger(Time int64, Num int) (int64, int) {
return 0, 0 return 0, 0
} }
Now := Now() Now := Now()
if Time > Now {
return Time, Num
}
var Duration int64 var Duration int64
for { for {
if Num > 50 { if Num > 50 {

View File

@ -55,6 +55,7 @@ func (f *FriendMgr) Init() {
f.RegisterHandler(msg.HANDLE_TYPE_REFUSE_SELECT_CARD, f.sendToPlayer) f.RegisterHandler(msg.HANDLE_TYPE_REFUSE_SELECT_CARD, f.sendToPlayer)
f.RegisterHandler(msg.HANDLE_TYPE_REFUSE_EX_CARD, f.sendToPlayer) f.RegisterHandler(msg.HANDLE_TYPE_REFUSE_EX_CARD, f.sendToPlayer)
f.RegisterHandler(msg.HANDLE_TYPE_SEND_CARD, f.sendToPlayer) f.RegisterHandler(msg.HANDLE_TYPE_SEND_CARD, f.sendToPlayer)
f.RegisterHandler(msg.HANDLE_TYPE_PLAYROOM_LOSE, f.sendToPlayer)
} }

View File

@ -1,6 +1,7 @@
package game package game
import ( import (
"fmt"
"math" "math"
"server/GoUtil" "server/GoUtil"
"server/game/mod/card" "server/game/mod/card"
@ -145,14 +146,14 @@ func LimitedTimePlayroomTrigger(p *Player, Id int) {
MoodInfo.Num = Num MoodInfo.Num = Num
p.PlayMod.save() p.PlayMod.save()
PlayroomBackData(p) PlayroomBackData(p)
NextSecond := NewTime + 1200 - Now NextSecond := NewTime - Now
if NextSecond > 0 { if NextSecond > 0 {
p.CallEvent(time.Duration(NextSecond)*time.Second, func() { p.CallEvent(time.Duration(NextSecond)*time.Second, func() {
p.lock.Lock() p.lock.Lock()
defer p.lock.Unlock() defer p.lock.Unlock()
LimitedTimePlayroomTrigger(p, Id) LimitedTimePlayroomTrigger(p, Id)
p.SendClientRes() p.SendClientRes()
}, "Playroom") }, fmt.Sprintf("Playroom_%d", Id))
} }
} }

View File

@ -210,9 +210,9 @@ func handle(p *Player, m *msg.Msg) error {
} }
case msg.HANDLE_TYPE_PLAYROOM_LOSE: // # 玩家输了 case msg.HANDLE_TYPE_PLAYROOM_LOSE: // # 玩家输了
PlayroomMod := p.PlayMod.getPlayroomMod() PlayroomMod := p.PlayMod.getPlayroomMod()
Items := m.Extra.([]*item.Item) Items := make([]*item.Item, 0)
if len(Items) == 0 { if m.Extra != nil {
return nil Items = m.Extra.([]*item.Item)
} }
PlayroomMod.AddChip() PlayroomMod.AddChip()
PlayroomMod.AddMood(playroom.MOOD_TYPE_FOOD, -50) PlayroomMod.AddMood(playroom.MOOD_TYPE_FOOD, -50)

View File

@ -2883,7 +2883,7 @@ func ReqPlayroomSelectReward(args []interface{}) error {
G_GameLogicPtr.FriendMgrSend(&MsqMod.Msg{ G_GameLogicPtr.FriendMgrSend(&MsqMod.Msg{
From: int(player.M_DwUin), From: int(player.M_DwUin),
To: Target, To: Target,
Type: MsqMod.HANDLE_TYPE_DEL, Type: MsqMod.HANDLE_TYPE_PLAYROOM_LOSE,
SendT: GoUtil.Now(), SendT: GoUtil.Now(),
}) })
PlayroomMod.ResetGame() PlayroomMod.ResetGame()