private FuBenData GetFuBenData(GameClient client, int fuBenID) { bool isNotify = false; FuBenData fuBenData = Global.GetFuBenData(client, fuBenID); int dayID = TimeUtil.NowDateTime().DayOfYear; if (null == fuBenData) { fuBenData = Global.AddFuBenData(client, fuBenID, dayID, 0, 0, 0); } if (fuBenData.DayID != dayID) { fuBenData.DayID = dayID; fuBenData.EnterNum = 0; fuBenData.FinishNum = 0; isNotify = true; } //将新的副本的数据通知自己 if (isNotify) { GameManager.ClientMgr.NotifyFuBenData(client, fuBenData); } return(fuBenData); }
/// <summary> /// 通知组队副本进入的消息 /// </summary> /// <param name="roleIDsList"></param> /// <param name="minLevel"></param> /// <param name="maxLevel"></param> /// <param name="mapCode"></param> public void NotifyTeamFuBenEnterMsg(List <int> roleIDsList, int minLevel, int maxLevel, int leaderMapCode, int leaderRoleID, int fuBenID, int fuBenSeqID, int enterNumber, int maxFinishNum, bool igoreNumLimit = false) { if (null == roleIDsList || roleIDsList.Count <= 0) { return; } for (int i = 0; i < roleIDsList.Count; i++) { GameClient otherClient = GameManager.ClientMgr.FindClient(roleIDsList[i]); if (null == otherClient) { continue; //不在线,则不通知 } //级别不匹配,则不通知 int unionLevel = Global.GetUnionLevel(otherClient.ClientData.ChangeLifeCount, otherClient.ClientData.Level); if (unionLevel < minLevel || unionLevel > maxLevel) { continue; } if (!igoreNumLimit) { FuBenData fuBenData = Global.GetFuBenData(otherClient, fuBenID); int nFinishNum; int haveEnterNum = Global.GetFuBenEnterNum(fuBenData, out nFinishNum); if ((enterNumber >= 0 && haveEnterNum >= enterNumber) || (maxFinishNum >= 0 && nFinishNum >= maxFinishNum)) { continue; } } //通知组队副本进入的消息 GameManager.ClientMgr.NotifyTeamMemberFuBenEnterMsg(otherClient, leaderRoleID, fuBenID, fuBenSeqID); } }
private int GetFinishNum(GameClient client, TodayInfo todayInfo) { int num = 0; FuBenData fuBenData = GetFuBenData(client, todayInfo.FuBenID); switch ((ETodayType)todayInfo.Type) { case ETodayType.Exp: case ETodayType.Gold: num = fuBenData.EnterNum; break; case ETodayType.KaLiMa: case ETodayType.Lo: case ETodayType.EM: num = fuBenData.FinishNum; break; case ETodayType.Tao: DailyTaskData dailyTaskData = Global.FindDailyTaskDataByTaskClass(client, (int)TaskClasses.TaofaTask); num = dailyTaskData == null ? 0 : dailyTaskData.RecNum; break; } return(Math.Max(0, num)); }
/// <summary> /// 获取万魔塔扫荡次数 /// </summary> public static int GetSweepCount(GameClient client) { FuBenData fuBenData = Global.GetFuBenData(client, nWanMoTaSweepFuBenOrder); if (null == fuBenData) { return(0); } return(fuBenData.EnterNum); }
private bool SetFinishNum(GameClient client, TodayInfo todayInfo, SystemXmlItem fuBenInfo) { int num = todayInfo.NumMax - todayInfo.NumEnd; switch ((ETodayType)todayInfo.Type) { case ETodayType.Exp: case ETodayType.Gold: Global.UpdateFuBenData(client, todayInfo.FuBenID, num, num); break; case ETodayType.KaLiMa: case ETodayType.EM: case ETodayType.Lo: Global.UpdateFuBenData(client, todayInfo.FuBenID, num, num); break; case ETodayType.Tao: { DailyTaskData taoData = null; Global.GetDailyTaskData(client, (int)TaskClasses.TaofaTask, out taoData, true); taoData.RecNum = todayInfo.NumMax; Global.UpdateDBDailyTaskData(client, taoData, true); } break; } FuBenData fuBenData = Global.GetFuBenData(client, todayInfo.FuBenID); if (fuBenData != null && (fuBenData.EnterNum != 0 || fuBenData.FinishNum != 0)) { //记录通关副本数量 int dayID = TimeUtil.NowDateTime().DayOfYear; RoleDailyData roleData = client.ClientData.MyRoleDailyData; if (null == roleData || dayID != roleData.FuBenDayID) { roleData = new RoleDailyData(); roleData.FuBenDayID = dayID; client.ClientData.MyRoleDailyData = roleData; } int count = todayInfo.NumMax - todayInfo.NumEnd; roleData.TodayFuBenNum += count; int level = fuBenInfo.GetIntValue("FuBenLevel"); DailyActiveManager.ProcessCompleteCopyMapForDailyActive(client, level, count); //活跃 ChengJiuManager.ProcessCompleteCopyMapForChengJiu(client, level, count); //成就 } return(true); }
public int GetWanMoXiaGuCount(GameClient client) { int count = 0; foreach (int id in this.RuntimeData.FuBenIds) { FuBenData fuBenData = Global.GetFuBenData(client, id); int c; Global.GetFuBenEnterNum(fuBenData, out c); count += c; } return(count); }
public static int GetSweepCount(GameClient client) { FuBenData fuBenData = Global.GetFuBenData(client, SweepWanMotaManager.nWanMoTaSweepFuBenOrder); int result; if (null == fuBenData) { result = 0; } else { result = fuBenData.EnterNum; } return(result); }
private int GetFinishNum(GameClient client, TodayInfo todayInfo) { int num = 0; FuBenData fuBenData = this.GetFuBenData(client, todayInfo.FuBenID); switch (todayInfo.Type) { case 1: case 2: num = fuBenData.EnterNum; break; case 3: case 4: case 5: num = fuBenData.FinishNum; break; case 6: { DailyTaskData dailyTaskData = Global.FindDailyTaskDataByTaskClass(client, 9); num = ((dailyTaskData == null) ? 0 : dailyTaskData.RecNum); break; } case 7: num = Global.QueryDayActivityEnterCountToDB(client, client.ClientData.RoleID, TimeUtil.NowDateTime().DayOfYear, 2); break; case 8: num = Global.QueryDayActivityEnterCountToDB(client, client.ClientData.RoleID, TimeUtil.NowDateTime().DayOfYear, 1); break; case 9: num = Global.QueryDayActivityEnterCountToDB(client, client.ClientData.RoleID, TimeUtil.NowDateTime().DayOfYear, 6); break; case 10: case 11: case 12: num = fuBenData.EnterNum; break; } return(num); }
/// <summary> /// 返回boss副本剩余次数字符串 /// </summary> /// <param name="client"></param> /// <returns></returns> public String GetBossFuBenLeftTimeString(GameClient client) { int bossFuBenID = Global.FindBossFuBenIDByRoleLevel(client.ClientData.Level); if (bossFuBenID > 0) { FuBenData fbData = Global.GetFuBenData(client, bossFuBenID); if (null != fbData) { int nFinishNum; return(String.Format("{0}", Math.Max(0, Global.GetBossFuBenCanFreeEnterNum(client) - Global.GetFuBenEnterNum(fbData, out nFinishNum)) + Global.GetBossFuBenCanExtEnterNum(client))); } else { return(String.Format("{0}", Global.GetBossFuBenCanFreeEnterNum(client) + Global.GetBossFuBenCanExtEnterNum(client))); } } return("0"); }
private bool ProcessMoRiJudgeJoin(GameClient client, int nID, byte[] bytes, string[] cmdParams) { try { SceneUIClasses sceneType = Global.GetMapSceneType(client.ClientData.MapCode); if (sceneType != SceneUIClasses.Normal) { client.sendCmd(nID, -21, false); return(true); } if (!this.IsGongNengOpened(client, true)) { client.sendCmd(nID, -2001, false); return(true); } if (client.ClientData.SignUpGameType != 0) { client.sendCmd(nID, -2002, false); return(true); } if (KuaFuManager.getInstance().IsInCannotJoinKuaFuCopyTime(client)) { client.sendCmd(nID, -2004, false); return(true); } SystemXmlItem systemFuBenItem = null; if (!GameManager.systemFuBenMgr.SystemXmlItemDict.TryGetValue(70000, out systemFuBenItem)) { client.sendCmd(nID, -3, false); return(true); } int minLevel = systemFuBenItem.GetIntValue("MinLevel", -1); int maxLevel = systemFuBenItem.GetIntValue("MaxLevel", -1); int nMinZhuanSheng = systemFuBenItem.GetIntValue("MinZhuanSheng", -1); int nMaxZhuanSheng = systemFuBenItem.GetIntValue("MaxZhuanSheng", -1); if (client.ClientData.ChangeLifeCount < nMinZhuanSheng || (client.ClientData.ChangeLifeCount == nMinZhuanSheng && client.ClientData.Level < minLevel)) { client.sendCmd(nID, "-19".ToString(), false); return(true); } if (client.ClientData.ChangeLifeCount > nMaxZhuanSheng || (client.ClientData.ChangeLifeCount == nMaxZhuanSheng && client.ClientData.Level > maxLevel)) { client.sendCmd(nID, "-19".ToString(), false); return(true); } FuBenData fuBenData = Global.GetFuBenData(client, 70000); if (fuBenData != null && fuBenData.FinishNum >= systemFuBenItem.GetIntValue("FinishNumber", -1)) { client.sendCmd(nID, "-16".ToString(), false); return(true); } int result = 0; if (result == 1) { client.ClientData.SignUpGameType = 3; GlobalNew.UpdateKuaFuRoleDayLogData(client.ServerId, client.ClientData.RoleID, TimeUtil.NowDateTime(), client.ClientData.ZoneID, 1, 0, 0, 0, 3); } client.sendCmd(nID, result.ToString(), false); return(true); } catch (Exception ex) { DataHelper.WriteFormatExceptionLog(ex, Global.GetDebugHelperInfo(client.ClientSocket), false, false); } return(false); }
private bool SetFinishNum(GameClient client, TodayInfo todayInfo, SystemXmlItem fuBenInfo) { int num = todayInfo.NumMax - todayInfo.NumEnd; switch (todayInfo.Type) { case 1: case 2: Global.UpdateFuBenData(client, todayInfo.FuBenID, num, num); break; case 3: case 4: case 5: Global.UpdateFuBenData(client, todayInfo.FuBenID, num, num); break; case 6: { DailyTaskData taoData = null; Global.GetDailyTaskData(client, 9, out taoData, true); taoData.RecNum = todayInfo.NumMax; Global.UpdateDBDailyTaskData(client, taoData, true); break; } case 7: { int nType = 2; Global.UpdateDayActivityEnterCountToDB(client, client.ClientData.RoleID, TimeUtil.NowDateTime().DayOfYear, nType, todayInfo.NumMax); break; } case 8: { int nType = 1; Global.UpdateDayActivityEnterCountToDB(client, client.ClientData.RoleID, TimeUtil.NowDateTime().DayOfYear, nType, todayInfo.NumMax); break; } case 9: { int nType = 6; Global.UpdateDayActivityEnterCountToDB(client, client.ClientData.RoleID, TimeUtil.NowDateTime().DayOfYear, nType, todayInfo.NumMax); break; } case 10: case 11: case 12: Global.UpdateFuBenData(client, todayInfo.FuBenID, num, num); break; } FuBenData fuBenData = Global.GetFuBenData(client, todayInfo.FuBenID); if (fuBenData != null && (fuBenData.EnterNum != 0 || fuBenData.FinishNum != 0)) { int dayID = TimeUtil.NowDateTime().DayOfYear; RoleDailyData roleData = client.ClientData.MyRoleDailyData; if (roleData == null || dayID != roleData.FuBenDayID) { roleData.FuBenDayID = dayID; roleData.TodayFuBenNum = 0; } int count = todayInfo.NumMax - todayInfo.NumEnd; roleData.TodayFuBenNum += count; int level = fuBenInfo.GetIntValue("FuBenLevel", -1); DailyActiveManager.ProcessCompleteCopyMapForDailyActive(client, level, count); ChengJiuManager.ProcessCompleteCopyMapForChengJiu(client, level, count); } return(true); }
// 报名末日审判 private bool ProcessMoRiJudgeJoin(GameClient client, int nID, byte[] bytes, string[] cmdParams) { try { SceneUIClasses sceneType = Global.GetMapSceneType(client.ClientData.MapCode); if (sceneType != SceneUIClasses.Normal) { client.sendCmd(nID, StdErrorCode.Error_Denied_In_Current_Map.ToString()); return(true); } if (!IsGongNengOpened(client, true)) { client.sendCmd(nID, StdErrorCode.Error_Not_In_valid_Time.ToString()); return(true); } if (client.ClientData.SignUpGameType != (int)GameTypes.None) { client.sendCmd(nID, StdErrorCode.Error_Denied_In_Activity_Time.ToString()); return(true); } if (KuaFuManager.getInstance().IsInCannotJoinKuaFuCopyTime(client)) { client.sendCmd(nID, StdErrorCode.Error_Time_Punish.ToString()); return(true); } SystemXmlItem systemFuBenItem = null; if (!GameManager.systemFuBenMgr.SystemXmlItemDict.TryGetValue(MoRiJudgeConsts.CopyId, out systemFuBenItem)) { client.sendCmd(nID, StdErrorCode.Error_Config_Fault.ToString()); return(true); } int minLevel = systemFuBenItem.GetIntValue("MinLevel"); int maxLevel = systemFuBenItem.GetIntValue("MaxLevel"); int nMinZhuanSheng = systemFuBenItem.GetIntValue("MinZhuanSheng"); int nMaxZhuanSheng = systemFuBenItem.GetIntValue("MaxZhuanSheng"); // 先判断等级 if (client.ClientData.ChangeLifeCount < nMinZhuanSheng || (client.ClientData.ChangeLifeCount == nMinZhuanSheng && client.ClientData.Level < minLevel)) { client.sendCmd(nID, StdErrorCode.Error_Level_Limit.ToString()); return(true); } if (client.ClientData.ChangeLifeCount > nMaxZhuanSheng || (client.ClientData.ChangeLifeCount == nMaxZhuanSheng && client.ClientData.Level > maxLevel)) { client.sendCmd(nID, StdErrorCode.Error_Level_Limit.ToString()); return(true); } // 判断剩余次数 FuBenData fuBenData = Global.GetFuBenData(client, MoRiJudgeConsts.CopyId); if (fuBenData != null && fuBenData.FinishNum >= systemFuBenItem.GetIntValue("FinishNumber")) { client.sendCmd(nID, StdErrorCode.Error_No_Residue_Degree.ToString()); return(true); } int result = 0;// MoRiJudgeClient.getInstance().MoRiJudgeSignUp(client.strUserID, client.ClientData.RoleID, client.ClientData.ZoneID, client.ClientData.CombatForce); if (result == (int)KuaFuRoleStates.SignUp) { // 报名成功 client.ClientData.SignUpGameType = (int)GameTypes.MoRiJudge; // 报名统计 GlobalNew.UpdateKuaFuRoleDayLogData(client.ServerId, client.ClientData.RoleID, TimeUtil.NowDateTime(), client.ClientData.ZoneID, 1, 0, 0, 0, (int)GameTypes.MoRiJudge); } //发送结果给客户端 client.sendCmd(nID, result.ToString()); return(true); } catch (Exception ex) { DataHelper.WriteFormatExceptionLog(ex, Global.GetDebugHelperInfo(client.ClientSocket), false); } return(false); }
/// <summary> /// 获得剩余次数 /// </summary> /// <param name="type"></param> /// <returns></returns> private static int GetLeftCountByType(GameClient client, int type, int copyId) { int leftnum = 0; switch ((CandoType)type) { case CandoType.DailyTask: { DailyTaskData dailyTaskData = Global.FindDailyTaskDataByTaskClass(client, 8); if (null == dailyTaskData) { return(Global.MaxDailyTaskNumForMU); } int maxnum = Global.GetMaxDailyTaskNum(client, 8, dailyTaskData); //获取最大日常任务次数 leftnum = maxnum - dailyTaskData.RecNum; } break; case CandoType.StoryCopy: case CandoType.GoldCopy: case CandoType.GroupCopy: case CandoType.EXPCopy: { SystemXmlItem systemFuBenItem = null; if (!GameManager.systemFuBenMgr.SystemXmlItemDict.TryGetValue(copyId, out systemFuBenItem)) { return(-1); } int total = systemFuBenItem.GetIntValue("EnterNumber"); if (type == (int)CandoType.StoryCopy || type == (int)CandoType.GroupCopy) { total = systemFuBenItem.GetIntValue("FinishNumber"); } if (type == (int)CandoType.GoldCopy || type == (int)CandoType.EXPCopy) { int[] nAddNum = GameManager.systemParamsList.GetParamValueIntArrayByName("VIPJinBiFuBenNum"); if (type == (int)CandoType.EXPCopy) { nAddNum = GameManager.systemParamsList.GetParamValueIntArrayByName("VIPJinYanFuBenNum"); } if (client.ClientData.VipLevel > 0 && client.ClientData.VipLevel <= (int)VIPEumValue.VIPENUMVALUE_MAXLEVEL && nAddNum != null && nAddNum.Length > 0 && nAddNum.Length <= 13) { total = total + nAddNum[client.ClientData.VipLevel]; } } FuBenData tmpfubdata = Global.GetFuBenData(client, copyId); if (null != tmpfubdata) { leftnum = total - tmpfubdata.EnterNum; } else { return(total); } } break; case CandoType.DemonSquare: { int nMapID = Global.GetDaimonSquareCopySceneIDForRole(client); DaimonSquareDataInfo bcDataTmp = null; Data.DaimonSquareDataInfoList.TryGetValue(nMapID, out bcDataTmp); int nDate = DateTime.Now.DayOfYear; // 当前时间 int nCount = Global.QueryDayActivityEnterCountToDB(client, client.ClientData.RoleID, nDate, (int)SpecialActivityTypes.DemoSque); if (nCount < 0) { nCount = 0; } int nVipLev = client.ClientData.VipLevel; int nNum = 0; int[] nArry = null; nArry = GameManager.systemParamsList.GetParamValueIntArrayByName("VIPEnterDaimonSquareCountAddValue"); if (nVipLev > 0 && nArry != null && nArry[nVipLev] > 0) { nNum = nArry[nVipLev]; } leftnum = bcDataTmp.MaxEnterNum + nNum - nCount; } break; case CandoType.AngelTemple: { DateTime now = DateTime.Now; string nowTime = DateTime.Now.ToString("HH:mm"); List <string> timePointsList = GameManager.AngelTempleMgr.m_AngelTempleData.BeginTime; leftnum = 0; for (int i = 0; i < timePointsList.Count; i++) { DateTime staticTime = DateTime.Parse(timePointsList[i]); DateTime perpareTime = staticTime.AddMinutes((double)(GameManager.AngelTempleMgr.m_AngelTempleData.PrepareTime / 60)); if (now <= perpareTime) { leftnum += 1; } } } break; case CandoType.BloodCity: { int nMapID = Global.GetBloodCastleCopySceneIDForRole(client); BloodCastleDataInfo bcDataTmp = null; if (!Data.BloodCastleDataInfoList.TryGetValue(nMapID, out bcDataTmp)) { break; } int nDate = DateTime.Now.DayOfYear; // 当前时间 int nType = (int)SpecialActivityTypes.BloodCastle; // 血色堡垒 int nCount = Global.QueryDayActivityEnterCountToDB(client, client.ClientData.RoleID, nDate, nType); if (nCount < 0) { nCount = 0; } // VIP检测 int nVipLev = client.ClientData.VipLevel; int nNum = 0; int[] nArry = null; nArry = GameManager.systemParamsList.GetParamValueIntArrayByName("VIPEnterBloodCastleCountAddValue"); if (nVipLev > 0 && nArry != null && nArry[nVipLev] > 0) { nNum = nArry[nVipLev]; } leftnum = bcDataTmp.MaxEnterNum + nNum - nCount; } break; case CandoType.Arena: { leftnum = JingJiChangManager.getInstance().GetLeftEnterCount(client); } break; case CandoType.OldBattlefield: { //古墓 古战场 剩余时间 BufferData bufferData = Global.GetBufferDataByID(client, (int)BufferItemTypes.GuMuTimeLimit); leftnum = (int)(bufferData.BufferVal - bufferData.BufferSecs); } break; case CandoType.PartWar: { leftnum = GameManager.BattleMgr.LeftEnterCount(); } break; case CandoType.PKKing: { leftnum = GameManager.ArenaBattleMgr.LeftEnterCount(); } break; case CandoType.WanmoTower: { leftnum = 1; if (SweepWanMotaManager.GetSweepCount(client) >= SweepWanMotaManager.nWanMoTaMaxSweepNum) { leftnum = 0; } } break; case CandoType.TaofaTaskCanDo: { DailyTaskData dailyTaskData = Global.FindDailyTaskDataByTaskClass(client, (int)TaskClasses.TaofaTask); if (null == dailyTaskData) { return(Global.MaxTaofaTaskNumForMU); } int maxnum = Global.GetMaxDailyTaskNum(client, (int)TaskClasses.TaofaTask, dailyTaskData); //获取最大讨伐任务次数 leftnum = maxnum - dailyTaskData.RecNum; } break; case CandoType.CrystalCollectCanDo: { //获取剩余水晶采集次数 int temp = 0; CaiJiLogic.ReqCaiJiLastNum(client, 0, out temp); leftnum = temp; } break; } return(leftnum); }
private static int GetLeftCountByType(GameClient client, int type, int copyId) { int leftnum = 0; switch (type) { case 1: { DailyTaskData dailyTaskData = Global.FindDailyTaskDataByTaskClass(client, 8); if (null == dailyTaskData) { return(10); } int maxnum = Global.GetMaxDailyTaskNum(client, 8, dailyTaskData); leftnum = maxnum - dailyTaskData.RecNum; goto IL_4AC; } case 5: { int nMapID = Global.GetDaimonSquareCopySceneIDForRole(client); DaimonSquareDataInfo bcDataTmp = null; Data.DaimonSquareDataInfoList.TryGetValue(nMapID, out bcDataTmp); int nDate = TimeUtil.NowDateTime().DayOfYear; int nCount = Global.QueryDayActivityEnterCountToDB(client, client.ClientData.RoleID, nDate, 2); if (nCount < 0) { nCount = 0; } int nVipLev = client.ClientData.VipLevel; int nNum = 0; int[] nArry = GameManager.systemParamsList.GetParamValueIntArrayByName("VIPEnterDaimonSquareCountAddValue", ','); if (nVipLev > 0 && nArry != null && nArry[nVipLev] > 0) { nNum = nArry[nVipLev]; } leftnum = bcDataTmp.MaxEnterNum + nNum - nCount; goto IL_4AC; } case 6: { int nMapID = Global.GetBloodCastleCopySceneIDForRole(client); BloodCastleDataInfo bcDataTmp2 = null; if (!Data.BloodCastleDataInfoList.TryGetValue(nMapID, out bcDataTmp2)) { goto IL_4AC; } int nDate = TimeUtil.NowDateTime().DayOfYear; int nType = 1; int nCount = Global.QueryDayActivityEnterCountToDB(client, client.ClientData.RoleID, nDate, nType); if (nCount < 0) { nCount = 0; } int nVipLev = client.ClientData.VipLevel; int nNum = 0; int[] nArry = GameManager.systemParamsList.GetParamValueIntArrayByName("VIPEnterBloodCastleCountAddValue", ','); if (nVipLev > 0 && nArry != null && nArry[nVipLev] > 0) { nNum = nArry[nVipLev]; } leftnum = bcDataTmp2.MaxEnterNum + nNum - nCount; goto IL_4AC; } case 7: { DateTime now = TimeUtil.NowDateTime(); string nowTime = TimeUtil.NowDateTime().ToString("HH:mm"); List <string> timePointsList = GameManager.AngelTempleMgr.m_AngelTempleData.BeginTime; leftnum = 0; for (int i = 0; i < timePointsList.Count; i++) { DateTime perpareTime = DateTime.Parse(timePointsList[i]).AddMinutes((double)(GameManager.AngelTempleMgr.m_AngelTempleData.PrepareTime / 60)); if (now <= perpareTime) { leftnum++; } } goto IL_4AC; } case 8: leftnum = 1; if (SweepWanMotaManager.GetSweepCount(client) >= SweepWanMotaManager.nWanMoTaMaxSweepNum) { leftnum = 0; } goto IL_4AC; case 9: { BufferData bufferData = Global.GetBufferDataByID(client, 34); leftnum = (int)(bufferData.BufferVal - (long)bufferData.BufferSecs); goto IL_4AC; } case 10: leftnum = GameManager.BattleMgr.LeftEnterCount(); goto IL_4AC; case 11: leftnum = GameManager.ArenaBattleMgr.LeftEnterCount(); goto IL_4AC; case 13: leftnum = JingJiChangManager.getInstance().GetLeftEnterCount(client); goto IL_4AC; case 15: { DailyTaskData dailyTaskData = Global.FindDailyTaskDataByTaskClass(client, 9); if (null == dailyTaskData) { return(Global.MaxTaofaTaskNumForMU); } int maxnum = Global.GetMaxDailyTaskNum(client, 9, dailyTaskData); leftnum = maxnum - dailyTaskData.RecNum; goto IL_4AC; } case 16: { int temp = 0; CaiJiLogic.ReqCaiJiLastNum(client, 0, out temp); leftnum = temp; goto IL_4AC; } case 19: leftnum = HuanYingSiYuanManager.getInstance().GetLeftCount(client); goto IL_4AC; } if (copyId > 0) { SystemXmlItem systemFuBenItem = null; if (!GameManager.systemFuBenMgr.SystemXmlItemDict.TryGetValue(copyId, out systemFuBenItem)) { return(-1); } int enternum = systemFuBenItem.GetIntValue("EnterNumber", -1); int finishnum = systemFuBenItem.GetIntValue("FinishNumber", -1); int total = (enternum < finishnum) ? finishnum : enternum; if (type == 4 || type == 3) { int[] nAddNum = GameManager.systemParamsList.GetParamValueIntArrayByName("VIPJinBiFuBenNum", ','); if (type == 3) { nAddNum = GameManager.systemParamsList.GetParamValueIntArrayByName("VIPJinYanFuBenNum", ','); } if (client.ClientData.VipLevel > 0 && client.ClientData.VipLevel <= VIPEumValue.VIPENUMVALUE_MAXLEVEL && nAddNum != null && nAddNum.Length > VIPEumValue.VIPENUMVALUE_MAXLEVEL) { total += nAddNum[client.ClientData.VipLevel]; } } FuBenData tmpfubdata = Global.GetFuBenData(client, copyId); if (null == tmpfubdata) { return(total); } leftnum = total - tmpfubdata.EnterNum; } IL_4AC: return(leftnum); }