时间线优化

This commit is contained in:
hahwu 2025-07-02 11:40:52 +08:00
parent 9d3f3bf6d7
commit 989f68174a
8 changed files with 52 additions and 38 deletions

View File

@ -93,7 +93,7 @@ func ReqGmCommand_(player *Player, Command string) error {
player.LoginBackData()
case "addChampshipLog":
num, _ := strconv.Atoi(arg[1])
player.AddLog(num, friend.LOG_TYPE_PLAYROOM_CHAMPSHIP, fmt.Sprintf("%d_%d", 1, 1))
player.AddLog(num, friend.LOG_TYPE_PLAYROOM_CHAMPSHIP, fmt.Sprintf("%d_%d", 1, 1), GoUtil.Now())
case "serverZeroUpdate":
VarMod := player.PlayMod.getVarMod()
VarMod.DailyResetTime = 0

View File

@ -859,7 +859,7 @@ func (p *Player) HandleInChampshipRank() {
G_GameLogicPtr.ChampshipMgrSend(m)
}
func (p *Player) AddLog(Uid int, Type int, Param string) {
func (p *Player) AddLog(Uid int, Type int, Param string, Time int64) {
FriendMod := p.PlayMod.getFriendMod()
Id := FriendMod.AddLog(Uid, Type, Param)
p.PlayMod.save()
@ -869,7 +869,7 @@ func (p *Player) AddLog(Uid int, Type int, Param string) {
Type: int32(Type),
Param: Param,
Id: int32(Id),
Time: int32(GoUtil.Now()),
Time: int32(Time),
},
})
}

View File

@ -202,30 +202,33 @@ func handle(p *Player, m *msg.Msg) error {
BackChampship(p)
case msg.HANDLE_TYPE_CHAMPSHIP_RESULT: // # 好友锦标赛结果
Extra := m.Extra.([]int)
p.AddLog(m.From, friend.LOG_TYPE_PLAYROOM_CHAMPSHIP, fmt.Sprintf("%d_%d", Extra[0], Extra[1]))
p.AddLog(m.From, friend.LOG_TYPE_PLAYROOM_CHAMPSHIP, fmt.Sprintf("%d_%d", Extra[0], Extra[1]), m.SendT)
case msg.HANDLE_TYPE_TREASURE_RESULT: // # 好友宝藏结果
p.AddLog(m.From, friend.LOG_TYPE_TREASURE, fmt.Sprintf("%d", m.Extra.(int)))
p.AddLog(m.From, friend.LOG_TYPE_TREASURE, fmt.Sprintf("%d", m.Extra.(int)), m.SendT)
case msg.HANDLE_TYPE_MAIL: // 邮件操作
SyncMailMsg(p)
case msg.HANDLE_TYPE_PLAYROOM_LOSE: // # 玩家输了
PlayroomMod := p.PlayMod.getPlayroomMod()
Items := m.Item
IsChip := false
GameId := playroom.GAME_TYPE_HOOK
if m.Extra != nil {
if val, ok := m.Extra.(bool); ok {
IsChip = val
if val, ok := m.Extra.(int); ok {
GameId = val
}
}
if Items == nil || len(Items) == 0 {
if len(Items) == 0 {
return nil
}
if IsChip {
if GameId == playroom.GAME_TYPE_HOOK {
PlayroomMod.AddChip(m.From, m.SendT)
p.AddLog(m.From, friend.LOG_TYPE_PLAYROOM_CAT_WIN, fmt.Sprintf("%d_%d", Items[0].Id, Items[0].Num), m.SendT)
} else {
p.AddLog(m.From, friend.LOG_TYPE_PLAYROOM_VISIT, fmt.Sprintf("%d_%d", Items[0].Id, Items[0].Num), m.SendT)
}
PlayroomMod.AddMood(playroom.MOOD_TYPE_FOOD, -50)
PlayroomMod.AddMood(playroom.MOOD_TYPE_CLEAN, -50)
PlayroomMod.AddVisitor(m.From, m.SendT)
p.AddLog(m.From, friend.LOG_TYPE_PLAYROOM_VISIT, fmt.Sprintf("%d_%d", Items[0].Id, Items[0].Num))
if len(Items) > 0 && Items[0].Id == item.ITEM_STAR_ID {
BaseMod := p.PlayMod.getBaseMod()
StarNum := BaseMod.GetStar()
@ -241,6 +244,7 @@ func handle(p *Player, m *msg.Msg) error {
p.PushClientRes(PlayroomMod.NotifyLose())
case msg.HANDLE_TYPE_PLAYROOM_GAME:
FriendMod := p.PlayMod.getFriendMod()
p.AddLog(m.From, friend.LOG_TYPE_PLAYROOM_CAT_LOSE, "", m.SendT)
FriendMod.Interact(m.From, friend.INTERACT_TYPE_VISIT, m.SendT)
case msg.FRIEND_TREASURE_HANDLE: // # 好友宝藏
Items := make([]*item.Item, 0)
@ -250,11 +254,11 @@ func handle(p *Player, m *msg.Msg) error {
p.HandleItem(Items, proto.ITEM_POP_LABEL_Friendtreasure.String())
case msg.HANDLE_TYPE_HANDBOOK_COLLECTION: // 图鉴收集奖励
data := m.Extra.(msg.HandbookMsg)
p.AddLog(m.From, friend.LOG_TYPE_HANDBOOK, data.Type)
p.AddLog(m.From, friend.LOG_TYPE_HANDBOOK, data.Type, m.SendT)
case msg.HANDLE_TYPE_HANDBOOK_UPVOTE: // 图鉴点赞
FriendMod := p.PlayMod.getFriendMod()
FriendMod.Interact(m.From, friend.INTERACT_TYPE_UPVOTE, m.SendT)
p.AddLog(m.From, friend.LOG_TYPE_HANDBOOK_UPVOTE, "")
p.AddLog(m.From, friend.LOG_TYPE_HANDBOOK_UPVOTE, "", m.SendT)
case msg.HANDLE_TYPE_SEND_CHARGE: // 收到好友赠送的充值礼包
C := &ChargeExtra{}
if m.Extra != nil {
@ -265,7 +269,7 @@ func handle(p *Player, m *msg.Msg) error {
mt, mc, mt_en, mc_en := mailCfg.GetChargeSendMail(PlayerSimpleData.Name)
Items := ChargeItem(p, C.ChargeId)
MailId := MailMod.Send(mt, "", mc, mt_en, "", mc_en, Items, mail.MAIL_TYPE_GIFT)
p.AddLog(m.From, friend.LOG_TYPE_CHARGE_SEND, fmt.Sprintf("%d", MailId))
p.AddLog(m.From, friend.LOG_TYPE_CHARGE_SEND, fmt.Sprintf("%d", MailId), m.SendT)
p.PushClientRes(MailMod.NotifyMail(MailId))
case msg.HANDLE_TYPE_CHARGE_RECEIVE: // 收到好友的感谢信
Content := ""
@ -276,13 +280,13 @@ func handle(p *Player, m *msg.Msg) error {
MailMod := p.PlayMod.getMailMod()
mt, mc, mt_en, mc_en := mailCfg.GetChargeReceiveMail(PlayerSimpleData.Name, Content)
MailId := MailMod.Send(mt, "", mc, mt_en, "", mc_en, nil, mail.MAIL_TYPE_NORMAL)
p.AddLog(m.From, friend.LOG_TYPE_CHARGE_RECEIVE, fmt.Sprintf("%d", MailId))
p.AddLog(m.From, friend.LOG_TYPE_CHARGE_RECEIVE, fmt.Sprintf("%d", MailId), m.SendT)
p.PushClientRes(MailMod.NotifyMail(MailId))
case msg.HANDLE_TYPE_WISHLIST_SEND: // 发送愿望单请求
FriendMod := p.PlayMod.getFriendMod()
FriendMod.AddWishApply(int64(m.From))
case msg.HANDLE_TYPE_PLAYROOM_UPVOTE: // playroom点赞
p.AddLog(m.From, friend.LOG_TYPE_PLAYROOM_UPVOTE, "")
p.AddLog(m.From, friend.LOG_TYPE_PLAYROOM_UPVOTE, "", m.SendT)
PlayroomMod := p.PlayMod.getPlayroomMod()
PlayroomMod.AddUpvote()
FriendMod := p.PlayMod.getFriendMod()
@ -291,7 +295,7 @@ func handle(p *Player, m *msg.Msg) error {
case msg.HANDLE_TYPE_WISHLIST_AGREE:
ChargeMod := p.PlayMod.getChargeMod()
ChargeMod.AddWishCount()
p.AddLog(m.From, friend.LOG_TYPE_WISH, "")
p.AddLog(m.From, friend.LOG_TYPE_WISH, "", m.SendT)
p.PushClientRes(ChargeMod.BackData())
case msg.HANDLE_TYPE_PLAYROOM_KISS: // playroom亲吻
p.NotifyPlayroomKiss()
@ -314,7 +318,7 @@ func HandleFriendMsg(p *Player, m *msg.Msg) error {
switch m.Type {
case msg.HANDLE_TYPE_APPLY: // 好友申请
FriendMod.AddFriendApply(m.From)
p.AddLog(m.From, friend.LOG_TYPE_FRIEND_APPLY, "")
p.AddLog(m.From, friend.LOG_TYPE_FRIEND_APPLY, "", m.SendT)
p.PushClientRes(&proto.ResFriendApplyNotify{
Player: PlayerSimpleData,
Type: friend.FRIEND_NOTIFY_APPLY,
@ -334,10 +338,10 @@ func HandleFriendMsg(p *Player, m *msg.Msg) error {
"player_id": m.From,
"add_type": "agree",
})
p.AddLog(m.From, friend.LOG_TYPE_FRIEND_BECOME, "")
p.AddLog(m.From, friend.LOG_TYPE_FRIEND_BECOME, "", m.SendT)
case msg.HANDLE_TYPE_DEL: // 删除好友
FriendMod.DelFriend(m.From)
p.AddLog(m.From, friend.LOG_TYPE_FRIEND_APPLY, "")
p.AddLog(m.From, friend.LOG_TYPE_FRIEND_APPLY, "", m.SendT)
p.PushClientRes(&proto.ResFriendApplyNotify{
Player: PlayerSimpleData,
Type: friend.FRIEND_NOTIFY_DEL,

View File

@ -1554,7 +1554,7 @@ func ReqAgreeFriend(player *Player, buf []byte) error {
Uid: req.Uid,
Player: G_GameLogicPtr.GetResSimplePlayerByUid(int(req.Uid)),
})
player.AddLog(Uid, friend.LOG_TYPE_FRIEND_BECOME, "")
player.AddLog(Uid, friend.LOG_TYPE_FRIEND_BECOME, "", GoUtil.Now())
FriendApplyBackData(player)
PlayroomMod := player.PlayMod.getPlayroomMod()
PlayroomMod.AddRoomPointAdd()
@ -1581,7 +1581,7 @@ func ReqDelFriend(player *Player, buf []byte) error {
Code: msg.RES_CODE_SUCCESS,
Uid: req.Uid,
})
player.AddLog(Uid, friend.LOG_TYPE_FRIEND_DELETE, "")
player.AddLog(Uid, friend.LOG_TYPE_FRIEND_DELETE, "", GoUtil.Now())
FriendListBackData(player)
player.TeLog("friend_delete", map[string]interface{}{
"player_id": Uid,
@ -1672,7 +1672,7 @@ func ReqCardGive(player *Player, buf []byte) error {
Type: card.TYPE_CARD_GIVE,
Status: card.STATUS_CARD_GIVE_1,
}
player.AddLog(Uid, friend.LOG_TYPE_CARD_GIVE, strconv.Itoa(CardId))
player.AddLog(Uid, friend.LOG_TYPE_CARD_GIVE, strconv.Itoa(CardId), GoUtil.Now())
err = CardMod.AddRequestCard(CardInfo) // 添加请求卡牌
if err != nil {
player.SendErrClienRes(&msg.ResCardGive{
@ -1803,7 +1803,7 @@ func ReqCardSend(player *Player, buf []byte) error {
End: GoUtil.Now() + 86400,
Extra: *CardInfo,
}
player.AddLog(int(req.Uid), friend.LOG_TYPE_CARD_SEND, strconv.Itoa(CardId))
player.AddLog(int(req.Uid), friend.LOG_TYPE_CARD_SEND, strconv.Itoa(CardId), GoUtil.Now())
player.PushClientRes(&msg.ResCardSend{
Code: msg.RES_CODE_SUCCESS,
})
@ -1836,7 +1836,7 @@ func ReqCardExchange(player *Player, buf []byte) error {
End: GoUtil.Now() + 86400,
Extra: *CardInfo,
}
player.AddLog(int(req.Uid), friend.LOG_TYPE_CARD_EX_SEND, fmt.Sprintf("%d", int(req.CardId)))
player.AddLog(int(req.Uid), friend.LOG_TYPE_CARD_EX_SEND, fmt.Sprintf("%d", int(req.CardId)), GoUtil.Now())
player.PushClientRes(&msg.ResCardExchange{
Code: msg.RES_CODE_SUCCESS,
@ -1888,7 +1888,7 @@ func ReqSelectCardExchange(player *Player, buf []byte) error {
}
}
FriendMod.DelCardInfo(req.Id)
player.AddLog(CardInfo.AUid, friend.LOG_TYPE_CARD_SELECT_SEND, fmt.Sprintf("%d", CardInfo.ExId))
player.AddLog(CardInfo.AUid, friend.LOG_TYPE_CARD_SELECT_SEND, fmt.Sprintf("%d", CardInfo.ExId), GoUtil.Now())
err := player.SubCard(CardId)
if err != nil {
player.SendErrClienRes(&msg.ResSelectCardExchange{
@ -1947,7 +1947,7 @@ func ReqAgreeCardExchange(player *Player, buf []byte) error {
return err
}
}
player.AddLog(CardInfo.BUid, friend.LOG_TYPE_CARD_EX_SUCCESS_1, fmt.Sprintf("%d_%d", CardInfo.CardId, CardInfo.ExId))
player.AddLog(CardInfo.BUid, friend.LOG_TYPE_CARD_EX_SUCCESS_1, fmt.Sprintf("%d_%d", CardInfo.CardId, CardInfo.ExId), GoUtil.Now())
CardInfo.Status = card.STATUS_CARD_EX_3
CardInfo.EndTime = 0
player.PlayMod.save()
@ -2068,9 +2068,7 @@ func ReqGetFriendCard(player *Player, buf []byte) error {
}
FriendMod.DelCardInfo(req.Id)
player.AddCard(CardInfo.CardId)
// if CardInfo.ExId != 0 {
// player.AddLog(CardInfo.BUid, friend.LOG_TYPE_CARD_EX_SUCCESS_2, fmt.Sprintf("%d_%d", CardInfo.ExId, CardInfo.CardId))
// }
player.AddLog(CardInfo.AUid, friend.LOG_TYPE_CARD_SEND_ACCEPT, fmt.Sprintf("%d", CardInfo.CardId), GoUtil.Now())
player.PlayMod.save()
player.PushClientRes(&msg.ResGetFriendCard{
Code: msg.RES_CODE_SUCCESS,
@ -3214,7 +3212,7 @@ func ReqPlayroomSetRoom(player *Player, buf []byte) error {
return nil
}
// 玩游戏
// 玩游戏 Desprecated
func ReqPlayroomGame(player *Player, buf []byte) error {
req := &msg.ReqPlayroomGame{}
proto.Unmarshal(buf, req)
@ -3293,7 +3291,7 @@ func ReqPlayroomSelectReward(player *Player, buf []byte) error {
Type: MsqMod.HANDLE_TYPE_PLAYROOM_LOSE,
SendT: GoUtil.Now(),
Item: Items,
Extra: true,
Extra: PlayroomMod.GetGameId(),
})
G_GameLogicPtr.SetUserData(Target, VAR_OP_CHIP, 1)
PlayroomMod.ResetGame()
@ -3484,7 +3482,7 @@ func ReqPlayroomFlipReward(player *Player, buf []byte) error {
Type: MsqMod.HANDLE_TYPE_PLAYROOM_LOSE,
SendT: GoUtil.Now(),
Item: Items,
Extra: false,
Extra: PlayroomMod.GetGameId(),
})
player.PlayMod.save()
PlayroomBackData(player)
@ -4208,7 +4206,7 @@ func ReqAddNpc(player *Player, buf []byte) error {
PlayroomMod.AddRoomPointInvite()
PlayroomMod.AddRoomPointAdd()
PlayroomBackData(player)
player.AddLog(int(req.NpcId), friend.LOG_TYPE_FRIEND_BECOME_NPC, GoUtil.String(req.NpcId))
player.AddLog(int(req.NpcId), friend.LOG_TYPE_FRIEND_BECOME_NPC, GoUtil.String(req.NpcId), GoUtil.Now())
player.PushClientRes(&msg.ResAddNpc{
Code: msg.RES_CODE_SUCCESS,
NpcId: req.NpcId,

View File

@ -77,6 +77,11 @@ type ChargeExtra struct {
ChargeId int // 充值id
}
type GameResult struct {
t int // 游戏类型
r int // 1:赢 2:输 3:平
}
func init() {
gob.Register(&limitedTimeEvent.MoneyCat{})
gob.Register(&limitedTimeEvent.LuckyCat{})

View File

@ -299,11 +299,12 @@ func (c *ChargeMod) InitChessShop(Emit []int) {
for _, v := range ColorList {
ColorType := mergeDataCfg.GetColorType(v)
r := make([]*Rand, 0)
if ColorType == mergeDataCfg.CHESS_PRODUCT_MAIN_TYPE {
switch ColorType {
case mergeDataCfg.CHESS_PRODUCT_MAIN_TYPE:
r = getChessMainRand(v)
} else if ColorType == mergeDataCfg.CHESS_PRODUCT_SECONDARY_TYPE {
case mergeDataCfg.CHESS_PRODUCT_SECONDARY_TYPE:
r = getChessSecondaryRand(v)
} else if ColorType == mergeDataCfg.CHESS_PRODUCT_SUB_TYPE {
case mergeDataCfg.CHESS_PRODUCT_SUB_TYPE:
r = getChessSubRand(v)
}
RandList = append(RandList, r...)

View File

@ -59,7 +59,7 @@ const (
LOG_TYPE_CARD_EX_SUCCESS_1 = 10 // 卡牌交换成功
LOG_TYPE_CARD_EX_SUCCESS_2 = 11 // 卡牌交换成功
LOG_TYPE_FRIEND_DELETE = 14 // 删除好友
LOG_TYPE_PLAYROOM_VISIT = 15 // 拜访玩家
LOG_TYPE_PLAYROOM_VISIT = 15 // 非小猫游戏,他人偷走了玩家的猫币
LOG_TYPE_HANDBOOK = 16 // 图鉴收集
LOG_TYPE_HANDBOOK_UPVOTE = 17 // 图鉴点赞
LOG_TYPE_CHARGE_SEND = 18 // 赠送充值礼物
@ -69,6 +69,9 @@ const (
LOG_TYPE_PLAYROOM_UPVOTE = 22 // playroom点赞
LOG_TYPE_PLAYROOM_CHAMPSHIP = 23 // 竞标赛排名
LOG_TYPE_TREASURE = 24 // 好友宝藏
LOG_TYPE_CARD_SEND_ACCEPT = 25 // 收到赠送卡牌
LOG_TYPE_PLAYROOM_CAT_WIN = 26 // 小猫游戏,给小猫成功装箱
LOG_TYPE_PLAYROOM_CAT_LOSE = 27 // 小猫游戏,装箱小猫未成功
)
const (

View File

@ -466,6 +466,9 @@ func (p *PlayroomMod) ResetGame() {
p.InteractNum = 0
p.RevengeUid = 0
}
func (p *PlayroomMod) GetGameId() int {
return p.GameId
}
func (p *PlayroomMod) ResetLose() {
p.LoseItem = make([]*item.Item, 0)