图鉴附属点赞功能
This commit is contained in:
parent
65eb41e01a
commit
668703d3f4
35
src/server/conf/handbook/handbookCfg.go
Normal file
35
src/server/conf/handbook/handbookCfg.go
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
package handbookCfg
|
||||||
|
|
||||||
|
import (
|
||||||
|
"server/game/mod/item"
|
||||||
|
"server/gamedata"
|
||||||
|
"server/pkg/github.com/name5566/leaf/log"
|
||||||
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
CFG_HANDBOOK = "Handbook"
|
||||||
|
CFG_HANDBOOK_CONST = "HandbookConst"
|
||||||
|
)
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
gamedata.InitCfg(CFG_HANDBOOK)
|
||||||
|
gamedata.InitCfg(CFG_HANDBOOK_CONST)
|
||||||
|
}
|
||||||
|
|
||||||
|
func GetHandbookReward(Type string) []*item.Item {
|
||||||
|
data, err := gamedata.GetDataByKey(CFG_HANDBOOK, Type)
|
||||||
|
if err != nil {
|
||||||
|
log.Debug("GetHandbookReward err:%v", err)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return gamedata.GetItemList(data, "Items")
|
||||||
|
}
|
||||||
|
|
||||||
|
func GetHandbookCollectReward() []*item.Item {
|
||||||
|
data, err := gamedata.GetDataByKey(CFG_HANDBOOK_CONST, "collect_item")
|
||||||
|
if err != nil {
|
||||||
|
log.Debug("GetHandbookCollectReward err:%v", err)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return gamedata.GetItemList(data, "Value")
|
||||||
|
}
|
||||||
@ -646,7 +646,7 @@ func (ad *GameLogic) RegisterNetWorkFunc() {
|
|||||||
|
|
||||||
//领取图鉴奖励
|
//领取图鉴奖励
|
||||||
RegisterMsgProcessFunc("ReqGetHandbookReward", ReqGetHandbookReward) //领取图鉴奖励
|
RegisterMsgProcessFunc("ReqGetHandbookReward", ReqGetHandbookReward) //领取图鉴奖励
|
||||||
|
RegisterMsgProcessFunc("RegHandbookAllReward", RegHandbookAllReward) //领取图鉴收集奖励
|
||||||
//领取订单奖励
|
//领取订单奖励
|
||||||
RegisterMsgProcessFunc("ReqRewardOrder", ReqRewardOrder) // 领取订单奖励
|
RegisterMsgProcessFunc("ReqRewardOrder", ReqRewardOrder) // 领取订单奖励
|
||||||
RegisterMsgProcessFunc("ReqDelOrder", ReqDelOrder) // 删除订单
|
RegisterMsgProcessFunc("ReqDelOrder", ReqDelOrder) // 删除订单
|
||||||
@ -709,6 +709,7 @@ func (ad *GameLogic) RegisterNetWorkFunc() {
|
|||||||
RegisterMsgProcessFunc("ReqFriendCardMsg", ReqFriendCardMsg) // 请求好友卡牌申请列表
|
RegisterMsgProcessFunc("ReqFriendCardMsg", ReqFriendCardMsg) // 请求好友卡牌申请列表
|
||||||
RegisterMsgProcessFunc("ReqFriendTimeLine", ReqFriendTimeLine) // 请求好友时间线
|
RegisterMsgProcessFunc("ReqFriendTimeLine", ReqFriendTimeLine) // 请求好友时间线
|
||||||
RegisterMsgProcessFunc("ReqFriendRecommend", ReqFriendRecommend) // 获取推荐好友
|
RegisterMsgProcessFunc("ReqFriendRecommend", ReqFriendRecommend) // 获取推荐好友
|
||||||
|
RegisterMsgProcessFunc("ReqFriendTLUpvote", ReqFriendTLUpvote) // 请求时间线点赞
|
||||||
|
|
||||||
RegisterMsgProcessFunc("ReqSearchPlayer", ReqSearchPlayer) // 搜索好友
|
RegisterMsgProcessFunc("ReqSearchPlayer", ReqSearchPlayer) // 搜索好友
|
||||||
RegisterMsgProcessFunc("ReqApplyFriend", ReqApplyFriend) // 申请好友
|
RegisterMsgProcessFunc("ReqApplyFriend", ReqApplyFriend) // 申请好友
|
||||||
|
|||||||
@ -223,6 +223,9 @@ func handle(p *Player, m *msg.Msg) error {
|
|||||||
Items = m.Extra.([]*item.Item)
|
Items = m.Extra.([]*item.Item)
|
||||||
}
|
}
|
||||||
p.HandleItem(Items, proto.ITEM_POP_LABEL_Friendtreasure.String())
|
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_PLAYROOM_VISIT, fmt.Sprintf("%s", data.Type))
|
||||||
}
|
}
|
||||||
// #region 以下是处理系统请求
|
// #region 以下是处理系统请求
|
||||||
return nil
|
return nil
|
||||||
@ -373,6 +376,7 @@ func FriendLogBackData(p *Player) {
|
|||||||
Time: int32(v.Time),
|
Time: int32(v.Time),
|
||||||
Param: v.Param,
|
Param: v.Param,
|
||||||
Id: int32(v.Id),
|
Id: int32(v.Id),
|
||||||
|
Upvote: v.Upvote,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
p.PushClientRes(&proto.ResFriendTimeLine{
|
p.PushClientRes(&proto.ResFriendTimeLine{
|
||||||
@ -869,3 +873,14 @@ func GetUidByFaceBook(Fb string) (int, error) {
|
|||||||
log.Debug("Fb :%s;Uid :%d", Fb, R.Uid)
|
log.Debug("Fb :%s;Uid :%d", Fb, R.Uid)
|
||||||
return R.Uid, err
|
return R.Uid, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func NotifyAllFriend(p *Player, m *msg.Msg) {
|
||||||
|
FriendMod := p.PlayMod.getFriendMod()
|
||||||
|
for k := range FriendMod.FriendList {
|
||||||
|
if k == int(p.M_DwUin) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
m.To = k
|
||||||
|
FriendMgrSend(m)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@ -7,6 +7,7 @@ import (
|
|||||||
"server/GoUtil"
|
"server/GoUtil"
|
||||||
cardCfg "server/conf/card"
|
cardCfg "server/conf/card"
|
||||||
decorateCfg "server/conf/decorate"
|
decorateCfg "server/conf/decorate"
|
||||||
|
handbookCfg "server/conf/handbook"
|
||||||
mergeDataCfg "server/conf/mergeData"
|
mergeDataCfg "server/conf/mergeData"
|
||||||
miningCfg "server/conf/mining"
|
miningCfg "server/conf/mining"
|
||||||
playroomCfg "server/conf/playroom"
|
playroomCfg "server/conf/playroom"
|
||||||
@ -143,8 +144,8 @@ func ReqGetHandbookReward(player *Player, buf []byte) error {
|
|||||||
})
|
})
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
var itemList []*item.Item
|
|
||||||
itemList = append(itemList, &item.Item{Id: item.ITEM_ENERGY_ID, Num: 5})
|
itemList := handbookCfg.GetHandbookCollectReward()
|
||||||
err = player.HandleItem(itemList, msg.ITEM_POP_LABEL_HandbookReward.String())
|
err = player.HandleItem(itemList, msg.ITEM_POP_LABEL_HandbookReward.String())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
player.SendErrClienRes(&msg.ResGetHandbookReward{
|
player.SendErrClienRes(&msg.ResGetHandbookReward{
|
||||||
@ -165,6 +166,41 @@ func ReqGetHandbookReward(player *Player, buf []byte) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func RegHandbookAllReward(player *Player, buf []byte) error {
|
||||||
|
req := &msg.RegHandbookAllReward{}
|
||||||
|
proto.Unmarshal(buf, req)
|
||||||
|
Items, err := player.PlayMod.getHandbookMod().CollectItem(req.Type)
|
||||||
|
if err != nil {
|
||||||
|
player.SendErrClienRes(&msg.ResHandbookAllReward{
|
||||||
|
Code: msg.RES_CODE_FAIL,
|
||||||
|
Msg: err.Error(),
|
||||||
|
})
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
err = player.HandleItem(Items, msg.ITEM_POP_LABEL_HandbookAllReward.String())
|
||||||
|
if err != nil {
|
||||||
|
player.SendErrClienRes(&msg.ResHandbookAllReward{
|
||||||
|
Code: msg.RES_CODE_FAIL,
|
||||||
|
Msg: err.Error(),
|
||||||
|
})
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
player.PushClientRes(&msg.ResHandbookAllReward{
|
||||||
|
Code: msg.RES_CODE_SUCCESS,
|
||||||
|
})
|
||||||
|
NotifyAllFriend(player, &MsqMod.Msg{
|
||||||
|
Type: MsqMod.HANDLE_TYPE_HANDBOOK_COLLECTION,
|
||||||
|
From: int(player.M_DwUin),
|
||||||
|
SendT: GoUtil.Now(),
|
||||||
|
Extra: MsqMod.HandbookMsg{
|
||||||
|
Type: req.Type,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
player.PushClientRes(player.PlayMod.getHandbookMod().BackData())
|
||||||
|
player.PlayMod.save()
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
// 领取订单奖励
|
// 领取订单奖励
|
||||||
func ReqRewardOrder(player *Player, buf []byte) error {
|
func ReqRewardOrder(player *Player, buf []byte) error {
|
||||||
req := &msg.ReqRewardOrder{}
|
req := &msg.ReqRewardOrder{}
|
||||||
@ -2397,6 +2433,37 @@ func ReqFriendTimeLine(player *Player, buf []byte) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func ReqFriendTLUpvote(player *Player, buf []byte) error {
|
||||||
|
req := &msg.ReqFriendTLUpvote{}
|
||||||
|
proto.Unmarshal(buf, req)
|
||||||
|
FriendMod := player.PlayMod.getFriendMod()
|
||||||
|
Items, err := FriendMod.Upvote(int(req.Id))
|
||||||
|
if err != nil {
|
||||||
|
player.SendErrClienRes(&msg.ResFriendTLUpvote{
|
||||||
|
Code: msg.RES_CODE_FAIL,
|
||||||
|
Msg: err.Error(),
|
||||||
|
})
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
err = player.HandleItem(Items, msg.ITEM_POP_LABEL_TLUpvote.String())
|
||||||
|
if err != nil {
|
||||||
|
player.SendErrClienRes(&msg.ResFriendTLUpvote{
|
||||||
|
Code: msg.RES_CODE_FAIL,
|
||||||
|
Msg: err.Error(),
|
||||||
|
})
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
player.PlayMod.save()
|
||||||
|
player.PushClientRes(&msg.ResFriendTLUpvote{
|
||||||
|
Code: msg.RES_CODE_SUCCESS,
|
||||||
|
Id: req.Id,
|
||||||
|
})
|
||||||
|
player.TeLog("friend_upvote", map[string]interface{}{
|
||||||
|
"player_id": int(req.Id),
|
||||||
|
})
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
func ReqChampshipRankReward(player *Player, buf []byte) error {
|
func ReqChampshipRankReward(player *Player, buf []byte) error {
|
||||||
MyLastRank := G_GameLogicPtr.ChampshipMgr.getLastMyRank(int(player.M_DwUin))
|
MyLastRank := G_GameLogicPtr.ChampshipMgr.getLastMyRank(int(player.M_DwUin))
|
||||||
ChampshipMod := player.PlayMod.getChampshipMod()
|
ChampshipMod := player.PlayMod.getChampshipMod()
|
||||||
|
|||||||
@ -1,9 +1,11 @@
|
|||||||
package friend
|
package friend
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
"server/GoUtil"
|
"server/GoUtil"
|
||||||
cardCfg "server/conf/card"
|
cardCfg "server/conf/card"
|
||||||
"server/game/mod/card"
|
"server/game/mod/card"
|
||||||
|
"server/game/mod/item"
|
||||||
)
|
)
|
||||||
|
|
||||||
type FriendMod struct {
|
type FriendMod struct {
|
||||||
@ -30,6 +32,7 @@ const (
|
|||||||
LOG_TYPE_CARD_EX_SUCCESS_2 = 11 // 卡牌交换成功
|
LOG_TYPE_CARD_EX_SUCCESS_2 = 11 // 卡牌交换成功
|
||||||
LOG_TYPE_FRIEND_DELETE = 14 // 删除好友
|
LOG_TYPE_FRIEND_DELETE = 14 // 删除好友
|
||||||
LOG_TYPE_PLAYROOM_VISIT = 15 // 拜访玩家
|
LOG_TYPE_PLAYROOM_VISIT = 15 // 拜访玩家
|
||||||
|
LOG_TYPE_HANDBOOK = 16 // 图鉴收集
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
@ -40,11 +43,12 @@ const (
|
|||||||
)
|
)
|
||||||
|
|
||||||
type LogInfo struct {
|
type LogInfo struct {
|
||||||
Id int
|
Id int
|
||||||
Uid int
|
Uid int
|
||||||
Type int
|
Type int
|
||||||
Time int64
|
Time int64
|
||||||
Param string
|
Param string
|
||||||
|
Upvote bool // 点赞
|
||||||
}
|
}
|
||||||
|
|
||||||
func (f *FriendMod) InitData() {
|
func (f *FriendMod) InitData() {
|
||||||
@ -163,3 +167,15 @@ func (f *FriendMod) ResetGoldCardEx() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (f *FriendMod) Upvote(Id int) ([]*item.Item, error) {
|
||||||
|
info := f.Log[Id]
|
||||||
|
if info == nil {
|
||||||
|
return nil, fmt.Errorf("log not exist")
|
||||||
|
}
|
||||||
|
if info.Upvote {
|
||||||
|
return nil, fmt.Errorf("already upvote")
|
||||||
|
}
|
||||||
|
info.Upvote = true
|
||||||
|
return []*item.Item{item.NewItem(item.ITEM_ENERGY_ID, 1)}, nil
|
||||||
|
}
|
||||||
|
|||||||
@ -2,12 +2,16 @@ package handbook
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
|
"fmt"
|
||||||
|
handbookCfg "server/conf/handbook"
|
||||||
startMergeCfg "server/conf/startMerge"
|
startMergeCfg "server/conf/startMerge"
|
||||||
|
"server/game/mod/item"
|
||||||
"server/msg"
|
"server/msg"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Handbook struct {
|
type Handbook struct {
|
||||||
BookList map[int]int `json:"BookList"`
|
BookList map[int]int `json:"BookList"`
|
||||||
|
Collect map[string]struct{}
|
||||||
}
|
}
|
||||||
|
|
||||||
const (
|
const (
|
||||||
@ -16,6 +20,9 @@ const (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func (h *Handbook) InitData() {
|
func (h *Handbook) InitData() {
|
||||||
|
if h.Collect == nil {
|
||||||
|
h.Collect = make(map[string]struct{})
|
||||||
|
}
|
||||||
if h.BookList == nil {
|
if h.BookList == nil {
|
||||||
h.BookList = make(map[int]int)
|
h.BookList = make(map[int]int)
|
||||||
InitChess := startMergeCfg.GetInitChessList()
|
InitChess := startMergeCfg.GetInitChessList()
|
||||||
@ -51,6 +58,18 @@ func (h *Handbook) GetHandbookReward(Id int) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (h *Handbook) CollectItem(Id string) ([]*item.Item, error) {
|
||||||
|
if _, ok := h.Collect[Id]; ok {
|
||||||
|
return nil, fmt.Errorf("已经领取过该奖励")
|
||||||
|
}
|
||||||
|
h.Collect[Id] = struct{}{}
|
||||||
|
Reward := handbookCfg.GetHandbookReward(Id)
|
||||||
|
if Reward == nil {
|
||||||
|
return nil, fmt.Errorf("奖励不存在")
|
||||||
|
}
|
||||||
|
return Reward, nil
|
||||||
|
}
|
||||||
|
|
||||||
func (h *Handbook) BackData() *msg.Handbook {
|
func (h *Handbook) BackData() *msg.Handbook {
|
||||||
var BookList []*msg.HandbookInfo
|
var BookList []*msg.HandbookInfo
|
||||||
for k, v := range h.BookList {
|
for k, v := range h.BookList {
|
||||||
|
|||||||
@ -71,6 +71,8 @@ const (
|
|||||||
FRIEND_TREASURE_HANDLE //好友宝藏操作
|
FRIEND_TREASURE_HANDLE //好友宝藏操作
|
||||||
HANDLE_TYPE_MAIL_ADD //添加邮件
|
HANDLE_TYPE_MAIL_ADD //添加邮件
|
||||||
HANDLE_TYPE_MAIL_RELOAD //重新加载邮件
|
HANDLE_TYPE_MAIL_RELOAD //重新加载邮件
|
||||||
|
|
||||||
|
HANDLE_TYPE_HANDBOOK_COLLECTION //图鉴收集
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
|||||||
5
src/server/game/mod/msg/data.go
Normal file
5
src/server/game/mod/msg/data.go
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
package msg
|
||||||
|
|
||||||
|
type HandbookMsg struct {
|
||||||
|
Type string
|
||||||
|
}
|
||||||
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user