This commit is contained in:
hahwu 2025-12-24 14:31:29 +08:00
parent e884b20e32
commit 30eab6db4b
5 changed files with 29 additions and 17 deletions

View File

@ -2,7 +2,9 @@ package game
import ( import (
"encoding/gob" "encoding/gob"
"server/game/mod/card"
"server/game/mod/friend" "server/game/mod/friend"
"server/game/mod/item"
limitedTimeEvent "server/game/mod/limited_time_event" limitedTimeEvent "server/game/mod/limited_time_event"
"server/game/mod/msg" "server/game/mod/msg"
proto "server/msg" proto "server/msg"
@ -125,4 +127,8 @@ func init() {
gob.Register(CRank{}) gob.Register(CRank{})
gob.Register(&proto.ResChampshipRank{}) gob.Register(&proto.ResChampshipRank{})
gob.Register(&proto.ResChampshipPreRank{}) gob.Register(&proto.ResChampshipPreRank{})
gob.Register(card.CardInfo{})
gob.Register(item.Item{})
gob.Register([]*item.Item{}) // 注册 []*item.Item 类型
gob.Register(friend.ReplyInfo{})
} }

View File

@ -513,6 +513,7 @@ func ReqGmCommand_(player *Player, Command string) error {
BaseMod.Uid = player.M_DwUin BaseMod.Uid = player.M_DwUin
BaseMod.NickName = player.PlayMod.getBaseMod().NickName BaseMod.NickName = player.PlayMod.getBaseMod().NickName
BaseMod.LoginTime = GoUtil.Now() BaseMod.LoginTime = GoUtil.Now()
BaseMod.AddCode = fmt.Sprintf("MMM-%s-%s", "156", GoUtil.UniqueStringFromInt(int(BaseMod.Uid)))
// deep copy p1.PlayMod.mod_list to avoid sharing internal pointers // deep copy p1.PlayMod.mod_list to avoid sharing internal pointers
var modCopy PlayerModList var modCopy PlayerModList
var buf bytes.Buffer var buf bytes.Buffer

View File

@ -622,9 +622,9 @@ func GetUserData(PlayerId int64, Key string) (*msg.Msg, error) {
}) })
} }
func GetServerData(Key string) (*msg.Msg, error) { // func GetServerData(Key string) (*msg.Msg, error) {
return SendMsgToCenterSync(&msg.Msg{ // return SendMsgToCenterSync(&msg.Msg{
HandleType: msg.HANDLE_MOD_VAR_GET, // HandleType: msg.HANDLE_MOD_VAR_GET,
Extra: msg.VarData{Key: Key}, // Extra: msg.VarData{Key: Key},
}) // })
} // }

View File

@ -219,6 +219,11 @@ func (f *FriendMod) SetNpc(id int) error {
if !friendCfg.IsNpcFriend(id) { if !friendCfg.IsNpcFriend(id) {
return fmt.Errorf("not npc friend") return fmt.Errorf("not npc friend")
} }
for _, v := range f.Npc {
if v == id {
return fmt.Errorf("npc already exist")
}
}
f.Npc = append(f.Npc, id) f.Npc = append(f.Npc, id)
return nil return nil
} }

View File

@ -22,7 +22,7 @@ func (p *Player) GetVarData(key string) interface{} {
cache := &VarExpireData{} cache := &VarExpireData{}
err := LoadCacheVarData(key, cache) err := LoadCacheVarData(key, cache)
if err != nil { if err != nil {
log.Error("GetVarData err : %s", err) log.Error("GetVarData err : %s, key: %s", err, key)
return nil return nil
} }
return cache.D return cache.D
@ -30,9 +30,9 @@ func (p *Player) GetVarData(key string) interface{} {
func (p *Player) GetUserVarData(key string) interface{} { func (p *Player) GetUserVarData(key string) interface{} {
cache := map[string]*VarExpireData{} cache := map[string]*VarExpireData{}
err := LoadCacheVarData(GoUtil.GetVarKey(int(p.M_DwUin)), cache) err := LoadCacheVarData(GoUtil.GetVarKey(int(p.M_DwUin)), &cache)
if err != nil { if err != nil {
log.Error("GetVarData err : %s", err) log.Error("GetUserVarData err : %s, key: %s", err, key)
return nil return nil
} }
data, ok := cache[key] data, ok := cache[key]
@ -42,14 +42,14 @@ func (p *Player) GetUserVarData(key string) interface{} {
return data.D return data.D
} }
func GetServerVarData(key string) interface{} { // func GetServerVarData(key string) interface{} {
data, err := GetServerData(key) // data, err := GetServerData(key)
if err != nil { // if err != nil {
log.Error("GetServerVarData err : %s", err) // log.Error("GetServerVarData err : %s", err)
return nil // return nil
} // }
return data.Extra // return data.Extra
} // }
func (p *Player) OpVarDataAsync(key string, value interface{}, opType int) { func (p *Player) OpVarDataAsync(key string, value interface{}, opType int) {
SendMsgToCenterAsync(&msg.Msg{ SendMsgToCenterAsync(&msg.Msg{