直播间的BUG

This commit is contained in:
fatiao 2026-03-05 20:20:24 +08:00
parent 88cd38e659
commit 9b1b85855f
3 changed files with 28 additions and 14 deletions

View File

@ -6,13 +6,13 @@ int,int,int,int,int,list,list,list
3,1,2,5,1,1,我看看有哪些哥哥准备好了呢?,
4,1,2,5,1,1,抓紧时间哦!,
5,1,2,2,1,1,好,我们开始抽卡了!,
6,1,3,5,1,1,第一组抽卡,
7,1,3,5,1,1,然后是第二组抽卡,
8,1,3,5,1,1,第三组抽卡,
9,1,3,5,1,1,接着是第四组,
10,1,3,5,1,1,最后一组抽卡,
11,1,4,5,1,1,好啦,让我看看哥哥们都抽到了什么呢~,result_top1_player
12,1,4,2,1,1,本轮抽卡结束了哦!没参与到抽卡的哥哥不要灰心,妹妹还会带来更多的福利!,
6,1,3,0,1,1,第一组抽卡,
7,1,3,0,1,1,然后是第二组抽卡,
8,1,3,0,1,1,第三组抽卡,
9,1,3,0,1,1,接着是第四组,
10,1,4,5,1,1,好,我们开始抽卡了!,
11,1,4,30,1,1,让我看看哥哥们都抽到了什么呢~,result_top1_player
12,1,4,5,1,1,本轮抽卡结束了哦!没参与到抽卡的哥哥不要灰心,妹妹还会带来更多的福利!,
13,2,1,5,1,1;1,欢迎新进直播间的宝子们,点关注不迷路,直播福利不停!爱你们哟~;我又来给宝子们带来福利啦,动动你们的小手点下关注,直播间优惠多多哦~,
14,2,1,5,1,1,咱们这个秒杀直播间经常有好物出没,想要淘些好东西的宝子们千万不要走开哦~,
15,2,2,5,1,1;1,好了,咱们的秒杀环节要开始了,宝子们想要什么商品参与这次秒杀呢?;咱们马上有一件商品要参与秒杀啦,看看是不是宝子们想要的呢?,

1 序号 房间类型:1-抽卡,2-带货,3-答题,4-游戏,5-拍卖 阶段:1-空闲, 2-准备, 3-直播, 4-结果 持续时间(s) 系统命令(1-说话,2-执行) 主播说话动作列表 主播说话台词列表 主播说话台词参数
6 3 1 2 5 1 1 我看看有哪些哥哥准备好了呢?
7 4 1 2 5 1 1 抓紧时间哦!
8 5 1 2 2 1 1 好,我们开始抽卡了!
9 6 1 3 5 0 1 1 第一组抽卡
10 7 1 3 5 0 1 1 然后是第二组抽卡
11 8 1 3 5 0 1 1 第三组抽卡
12 9 1 3 5 0 1 1 接着是第四组
13 10 1 3 4 5 1 1 最后一组抽卡 好,我们开始抽卡了!
14 11 1 4 5 30 1 1 好啦,让我看看哥哥们都抽到了什么呢~ 让我看看哥哥们都抽到了什么呢~ result_top1_player
15 12 1 4 2 5 1 1 本轮抽卡结束了哦!没参与到抽卡的哥哥不要灰心,妹妹还会带来更多的福利!
16 13 2 1 5 1 1;1 欢迎新进直播间的宝子们,点关注不迷路,直播福利不停!爱你们哟~;我又来给宝子们带来福利啦,动动你们的小手点下关注,直播间优惠多多哦~
17 14 2 1 5 1 1 咱们这个秒杀直播间经常有好物出没,想要淘些好东西的宝子们千万不要走开哦~
18 15 2 2 5 1 1;1 好了,咱们的秒杀环节要开始了,宝子们想要什么商品参与这次秒杀呢?;咱们马上有一件商品要参与秒杀啦,看看是不是宝子们想要的呢?

View File

@ -249,6 +249,7 @@ func (self *LiveRoom) CalcTimelineSec(timeline map[int32]*TimelineFrame) int32 {
}
func (self *LiveRoom) Update(deltaMS uint32) {
self.stageTick += 1
self.updateCount += 1
if self.updateCount*uint64(deltaMS) > math.MaxUint64-10000 {
self.updateCount = 1
@ -264,7 +265,6 @@ func (self *LiveRoom) Update(deltaMS uint32) {
case LIVEROOM_STAGE_RESULT:
self.LIVEROOM_STAGE_RESULT_Update(self.tickIntervalMS)
}
self.stageTick += 1
}
if model.IsDailyResetHour5(self.giftRankResetTime) {
self.giftRank = make([]*serverproto.LiveRoomPlayerInfo, 0)
@ -280,7 +280,6 @@ func (self *LiveRoom) Update(deltaMS uint32) {
}
func (self *LiveRoom) ChangeStage(newStage uint32) {
self.stageTick = 0
// 1. Current Stage Exit
switch self.stage {
case LIVEROOM_STAGE_IDLE:
@ -314,6 +313,7 @@ func (self *LiveRoom) ChangeStage(newStage uint32) {
})
// 3. Update Current Stage
self.stage = newStage
self.stageTick = -1
}
func (self *LiveRoom) makeTalkParams(cfg *serverproto.LiveRoomTalkCfg, player string, gift int32, item int32) string {
@ -323,6 +323,10 @@ func (self *LiveRoom) makeTalkParams(cfg *serverproto.LiveRoomTalkCfg, player st
}
func (self *LiveRoom) HandleCMD(sn int32, cfg *serverproto.LiveRoomTalkCfg) {
if self.roomId == 1 {
util.InfoF("LIVEROOM_CMD_TALK: roomId=%d, stage=%d, sn=%d, talkId=%d", self.roomId, self.stage, sn, cfg.Id)
}
switch cfg.CMD {
case LIVEROOM_CMD_TALK:
self.SendAllPlayers(func(uid uint64) interface{} {
@ -347,7 +351,7 @@ func (self *LiveRoom) HandleCMD(sn int32, cfg *serverproto.LiveRoomTalkCfg) {
/*----------------------------------- Stage: IDLE -----------------------------------*/
func (self *LiveRoom) LIVEROOM_STAGE_IDLE_Enter() {
util.InfoF("LIVEROOM_STAGE_IDLE_Enter")
//util.InfoF("LIVEROOM_STAGE_IDLE_Enter")
self.readyUidList = make([]uint64, 0)
self.submitDataList = make([]*LiveRoomSubmitData, 0)
self.roomStateData = make(map[string]string)
@ -355,6 +359,9 @@ func (self *LiveRoom) LIVEROOM_STAGE_IDLE_Enter() {
}
func (self *LiveRoom) LIVEROOM_STAGE_IDLE_Update(deltaMS uint32) {
if self.roomId == 1 {
util.InfoF("LIVEROOM_STAGE_IDLE_Update: roomId=%d, stageTick=%d", self.roomId, uint32(self.stageTick))
}
if self.stageTick >= self.CalcTimelineSec(self.idleTimeline) {
if self.sumGiftPoint >= serverproto.LiveRoomCfgLoader[int32(self.roomType)].MaxGiftPoint {
self.ChangeStage(LIVEROOM_STAGE_READY)
@ -363,7 +370,7 @@ func (self *LiveRoom) LIVEROOM_STAGE_IDLE_Update(deltaMS uint32) {
}
return
}
//util.InfoF("LIVEROOM_STAGE_IDLE_Update: Tick %d", uint32(self.stageTick))
if frame, exist := self.idleTimeline[self.stageTick]; exist {
for i := 0; i < len(frame.talkCfgList); i++ {
cfg := frame.talkCfgList[i]
@ -376,7 +383,7 @@ func (self *LiveRoom) LIVEROOM_STAGE_IDLE_Exit() {}
/*----------------------------------- Stage: READY -----------------------------------*/
func (self *LiveRoom) LIVEROOM_STAGE_READY_Enter() {
util.InfoF("LIVEROOM_STAGE_READY_Enter")
//util.InfoF("LIVEROOM_STAGE_READY_Enter")
self.VF_ReadyStart()
}
@ -402,7 +409,7 @@ func (self *LiveRoom) LIVEROOM_STAGE_READY_Exit() {}
/*----------------------------------- Stage: SHOW -----------------------------------*/
func (self *LiveRoom) LIVEROOM_STAGE_SHOW_Enter() {
util.InfoF("LIVEROOM_STAGE_SHOW_Enter")
//util.InfoF("LIVEROOM_STAGE_SHOW_Enter")
self.VF_ShowStart()
}
@ -485,6 +492,7 @@ func (self *LiveRoom) Join(uid uint64) {
player := RoomMgr.GetPlayer(uid)
player.LeaveRoom = false
player.WaitLeaveRoom = false
//self.SendChat(1000, fmt.Sprintf("玩家【%s】进入了直播间", player.Name))
}
func (self *LiveRoom) Leave(uid uint64) {
@ -705,6 +713,7 @@ func (self *LiveRoom) SendChat(senderId uint64, chatContent string) {
chatData := &serverproto.LiveRoomChatData{
SN: self.chatSN,
PlayerInfo: &serverproto.LiveRoomPlayerInfo{
Uid: senderId,
Nickname: senderPlayer.Name,
Level: senderPlayer.Level,
VipLevel: senderPlayer.VipLevel,
@ -773,6 +782,7 @@ func (self *LiveRoom) SendGift(uid uint64, giftId uint32) int32 {
Nickname: player.Name,
HeadId: player.HeadId,
Level: player.Level,
VipLevel: player.VipLevel,
Data: fmt.Sprintf("gift:%d;status:%d", giftId, giftRewardStatus),
}
self.giftRecords = append(self.giftRecords, sendGiftInfo)
@ -821,6 +831,8 @@ func (self *LiveRoom) SendGift(uid uint64, giftId uint32) int32 {
SendGiftInfo: sendGiftInfo,
}
})
self.SendChat(1000, fmt.Sprintf("玩家【%s】向主播打赏了【%s】", player.Name, giftCfg.Name))
return 0
}

View File

@ -12,7 +12,7 @@ const (
LIVE_ANSWER_ROOM_NUM = 1
LIVE_GAME_ROOM_NUM = 1
LIVE_BID_ROOM_NUM = 1
LIVEROOM_UPDATE_DELTA_MS = 100
LIVEROOM_UPDATE_DELTA_MS = 1000
)
type RoomManager struct {
@ -60,6 +60,8 @@ func (self *RoomManager) Init() {
for i := 0; i < LIVE_BID_ROOM_NUM; i++ {
self.AllocBidGameRoom()
}
self.AddPlayer(1000, "系统")
}
func (self *RoomManager) AllocRoomId() uint32 {