diff --git a/src/server/GoUtil/GoUtil.go b/src/server/GoUtil/GoUtil.go index 6a8a5192..5826154c 100644 --- a/src/server/GoUtil/GoUtil.go +++ b/src/server/GoUtil/GoUtil.go @@ -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 { diff --git a/src/server/game/FriendMgr.go b/src/server/game/FriendMgr.go index 918b035b..3252bd50 100644 --- a/src/server/game/FriendMgr.go +++ b/src/server/game/FriendMgr.go @@ -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) } diff --git a/src/server/game/LimitedTimeTrigger.go b/src/server/game/LimitedTimeTrigger.go index e3e6877b..92a76a4f 100644 --- a/src/server/game/LimitedTimeTrigger.go +++ b/src/server/game/LimitedTimeTrigger.go @@ -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)) } } diff --git a/src/server/game/PlayerFunc.go b/src/server/game/PlayerFunc.go index 0329e92b..9b51634b 100644 --- a/src/server/game/PlayerFunc.go +++ b/src/server/game/PlayerFunc.go @@ -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) diff --git a/src/server/game/RegisterNetworkFunc.go b/src/server/game/RegisterNetworkFunc.go index 31c92c33..01aa297d 100644 --- a/src/server/game/RegisterNetworkFunc.go +++ b/src/server/game/RegisterNetworkFunc.go @@ -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()