Ejemplo n.º 1
0
        public static void NotifyClientDailyActiveData(GameClient client, int justCompleteddailyactive = -1, bool bRefresh = false)
        {
            if (client.ClientData.MyRoleDailyData != null && !bRefresh)
            {
                int nKillBoss = client.ClientData.MyRoleDailyData.TodayKillBoss;
            }
            DailyActiveData dailyactiveData = new DailyActiveData
            {
                RoleID                     = client.ClientData.RoleID,
                DailyActiveValues          = (long)client.ClientData.DailyActiveValues,
                TotalKilledMonsterCount    = (long)((ulong)client.ClientData.DailyTotalKillMonsterNum),
                DailyActiveTotalLoginCount = (long)((ulong)client.ClientData.DailyActiveDayLginCount),
                DailyActiveOnLineTimer     = client.ClientData.DayOnlineSecond,
                DailyActiveInforFlags      = DailyActiveManager.GetDailyActiveInfoArray(client),
                NowCompletedDailyActiveID  = justCompleteddailyactive,
                TotalKilledBossCount       = (int)client.ClientData.DailyTotalKillKillBossNum,
                PassNormalCopySceneNum     = (int)DailyActiveManager.GetDailyActiveDataByField(client, DailyActiveDataField1.DailyActiveCompleteCopyMap1),
                PassHardCopySceneNum       = (int)DailyActiveManager.GetDailyActiveDataByField(client, DailyActiveDataField1.DailyActiveCompleteCopyMap2),
                PassDifficultCopySceneNum  = (int)DailyActiveManager.GetDailyActiveDataByField(client, DailyActiveDataField1.DailyActiveCompleteCopyMap3),
                BuyItemInMall              = client.ClientData.DailyActiveDayBuyItemInMall,
                CompleteDailyTaskCount     = (int)DailyActiveManager.GetDailyActiveDataByField(client, DailyActiveDataField1.DailyActiveCompleteDailyTask),
                CompleteBloodCastleCount   = (int)DailyActiveManager.GetDailyActiveDataByField(client, DailyActiveDataField1.DailyActiveCompleteBloodCastle),
                CompleteDaimonSquareCount  = (int)DailyActiveManager.GetDailyActiveDataByField(client, DailyActiveDataField1.DailyActiveCompleteDaimonSquare),
                CompleteBattleCount        = (int)DailyActiveManager.GetDailyActiveDataByField(client, DailyActiveDataField1.DailyActiveCompleteBattle),
                EquipForge                 = (int)DailyActiveManager.GetDailyActiveDataByField(client, DailyActiveDataField1.DailyActiveEquipForge),
                EquipAppend                = (int)DailyActiveManager.GetDailyActiveDataByField(client, DailyActiveDataField1.DailyActiveEquipAppend),
                ChangeLife                 = (int)DailyActiveManager.GetDailyActiveDataByField(client, DailyActiveDataField1.DailyActiveChangeLife),
                MergeFruit                 = (int)DailyActiveManager.GetDailyActiveDataByField(client, DailyActiveDataField1.DailyActiveMergeFruit),
                GetAwardFlag               = Global.GetRoleParamsInt32FromDB(client, "DailyActiveAwardFlag")
            };

            byte[] bytesData = DataHelper.ObjectToBytes <DailyActiveData>(dailyactiveData);
            GameManager.ClientMgr.SendToClient(client, bytesData, 558);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 通知客户端活跃数据
        /// </summary>
        /// <param name="client"></param>
        public static void NotifyClientDailyActiveData(GameClient client, int justCompleteddailyactive = -1, bool bRefresh = false)
        {
            // 通知客户端每日活跃数据
            //client.ClientData.DayOnlineSecond = Global.GetRoleParamsInt32FromDB(client, RoleParamName.DayOnlineSecond);

            int nKillBoss = 0;

            if (client.ClientData.MyRoleDailyData != null && bRefresh == false)
            {
                nKillBoss = client.ClientData.MyRoleDailyData.TodayKillBoss;
            }

            DailyActiveData dailyactiveData = new DailyActiveData()
            {
                RoleID                     = client.ClientData.RoleID,                         // 角色ID
                DailyActiveValues          = client.ClientData.DailyActiveValues,              // 每日活跃值
                TotalKilledMonsterCount    = client.ClientData.DailyTotalKillMonsterNum,       // 每日杀怪数 (int)GetDailyActiveDataByField(client, DailyActiveDataField1.DailyActiveTotalKilledMonsterNum),
                DailyActiveTotalLoginCount = client.ClientData.DailyActiveDayLginCount,        // 每日登陆计数
                DailyActiveOnLineTimer     = client.ClientData.DayOnlineSecond,                // 每日在线时间
                DailyActiveInforFlags      = GetDailyActiveInfoArray(client),                  // 16个bit 一组,前14个bit表示id, 后面一次是完成bit 和 奖励bit
                NowCompletedDailyActiveID  = justCompleteddailyactive,                         // 刚完成的活跃ID
                TotalKilledBossCount       = (int)client.ClientData.DailyTotalKillKillBossNum, // 每日杀BOSS计数 (int)GetDailyActiveDataByField(client, DailyActiveDataField1.DailyActiveTotalKilledBossNum),
                PassNormalCopySceneNum     = (int)GetDailyActiveDataByField(client, DailyActiveDataField1.DailyActiveCompleteCopyMap1),
                PassHardCopySceneNum       = (int)GetDailyActiveDataByField(client, DailyActiveDataField1.DailyActiveCompleteCopyMap2),
                PassDifficultCopySceneNum  = (int)GetDailyActiveDataByField(client, DailyActiveDataField1.DailyActiveCompleteCopyMap3),
                BuyItemInMall              = client.ClientData.DailyActiveDayBuyItemInMall, // 每日商城消费
                CompleteDailyTaskCount     = (int)GetDailyActiveDataByField(client, DailyActiveDataField1.DailyActiveCompleteDailyTask),
                CompleteBloodCastleCount   = (int)GetDailyActiveDataByField(client, DailyActiveDataField1.DailyActiveCompleteBloodCastle),
                CompleteDaimonSquareCount  = (int)GetDailyActiveDataByField(client, DailyActiveDataField1.DailyActiveCompleteDaimonSquare),
                CompleteBattleCount        = (int)GetDailyActiveDataByField(client, DailyActiveDataField1.DailyActiveCompleteBattle),
                EquipForge                 = (int)GetDailyActiveDataByField(client, DailyActiveDataField1.DailyActiveEquipForge),
                EquipAppend                = (int)GetDailyActiveDataByField(client, DailyActiveDataField1.DailyActiveEquipAppend),
                ChangeLife                 = (int)GetDailyActiveDataByField(client, DailyActiveDataField1.DailyActiveChangeLife),
                MergeFruit                 = (int)GetDailyActiveDataByField(client, DailyActiveDataField1.DailyActiveMergeFruit),
                GetAwardFlag               = Global.GetRoleParamsInt32FromDB(client, RoleParamName.DailyActiveAwardFlag),
            };

            byte[] bytesData = DataHelper.ObjectToBytes <DailyActiveData>(dailyactiveData);

            //通知客户端
            GameManager.ClientMgr.SendToClient(client, bytesData, (int)TCPGameServerCmds.CMD_SPR_DAILYACTIVEDATA);
        }