修复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
}
Now := Now()
if Time > Now {
return Time, Num
}
var Duration int64
for {
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_EX_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
import (
"fmt"
"math"
"server/GoUtil"
"server/game/mod/card"
@ -145,14 +146,14 @@ func LimitedTimePlayroomTrigger(p *Player, Id int) {
MoodInfo.Num = Num
p.PlayMod.save()
PlayroomBackData(p)
NextSecond := NewTime + 1200 - Now
NextSecond := NewTime - Now
if NextSecond > 0 {
p.CallEvent(time.Duration(NextSecond)*time.Second, func() {
p.lock.Lock()
defer p.lock.Unlock()
LimitedTimePlayroomTrigger(p, Id)
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: // # 玩家输了
PlayroomMod := p.PlayMod.getPlayroomMod()
Items := m.Extra.([]*item.Item)
if len(Items) == 0 {
return nil
Items := make([]*item.Item, 0)
if m.Extra != nil {
Items = m.Extra.([]*item.Item)
}
PlayroomMod.AddChip()
PlayroomMod.AddMood(playroom.MOOD_TYPE_FOOD, -50)

View File

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