diff --git a/src/server/game/register_network_func.go b/src/server/game/register_network_func.go index bdc540e3..dc1ee205 100644 --- a/src/server/game/register_network_func.go +++ b/src/server/game/register_network_func.go @@ -11,6 +11,7 @@ import ( emojiCfg "server/conf/emoji" GuideTaskCfg "server/conf/guide_task" handbookCfg "server/conf/handbook" + inviteCfg "server/conf/invite" limitedTimeEventCfg "server/conf/limited_time_event" mergeDataCfg "server/conf/merge_data" miningCfg "server/conf/mining" @@ -2988,6 +2989,7 @@ func ReqGetInviteReward(player *Player, buf []byte) error { return err } InviteMod := player.PlayMod.getInviteMod() + curIndex := InviteMod.GetIndex Items, err := InviteMod.GetReward(int(req.GetIndex)) if err != nil { log.Debug("ReqGetInviteReward err :%v", err) @@ -3008,13 +3010,16 @@ func ReqGetInviteReward(player *Player, buf []byte) error { for k := range InviteMod.InviteList { playerIds = append(playerIds, GoUtil.String(k)) } - player.TeLog("register_invite_reward", map[string]interface{}{ - "register_type": "facebook", - "item_id": Items, - "register_score": InviteMod.GetIndex, - "player_id": strings.Join(playerIds, ","), - "is_npc": len(InviteMod.InviteList) == 1, - }) + for i := curIndex + 1; i <= InviteMod.GetIndex; i++ { + _, rewardItems := inviteCfg.GetInviteReward(i) + player.TeLog("register_invite_reward", map[string]interface{}{ + "register_type": "facebook", + "item_id": rewardItems, + "register_score": InviteMod.GetIndex, + "player_id": strings.Join(playerIds, ","), + "is_npc": i == 1, + }) + } return nil } diff --git a/src/server/test/invite_test.go b/src/server/test/invite_test.go index 9f5ffaa9..c568bcab 100644 --- a/src/server/test/invite_test.go +++ b/src/server/test/invite_test.go @@ -1,8 +1,12 @@ package test import ( + "fmt" "server/game" + "server/msg" "testing" + + "google.golang.org/protobuf/proto" ) func TestInviteBack(t *testing.T) { @@ -11,3 +15,22 @@ func TestInviteBack(t *testing.T) { InviteMod := player.GetInviteMod() InviteMod.BackData() } + +func TestInviteReward(t *testing.T) { + player := new(game.Player) + player.InitPlayer("3625212") + InviteMod := player.GetInviteMod() + InviteMod.GetIndex = 0 + InviteMod.InviteList = map[int]struct{}{1: {}, 2: {}, 3: {}} + req := &msg.ReqGetInviteReward{ + GetIndex: 2, + } + buf, _ := proto.Marshal(req) + game.ReqGetInviteReward(player, buf) +} + +func TestFix(t *testing.T) { + for i := 0; i < 10; i++ { + fmt.Println(i) + } +}