public static void ProcessDailyActiveKillMonster(GameClient killer, Monster victim) { if (DailyActiveManager.CheckLevCondition(killer, 1300) || DailyActiveManager.CheckLevCondition(killer, 1301) || DailyActiveManager.CheckLevCondition(killer, 1302)) { killer.ClientData.DailyTotalKillMonsterNum += 1U; SafeClientData clientData = killer.ClientData; clientData.TimerKilledMonsterNum += 1; if (killer.ClientData.TimerKilledMonsterNum > 20) { killer.ClientData.TimerKilledMonsterNum = 0; DailyActiveManager.ModifyDailyActiveInfor(killer, killer.ClientData.DailyTotalKillMonsterNum, DailyActiveDataField1.DailyActiveTotalKilledMonsterNum, false); } DailyActiveManager.CheckDailyActiveKillMonster(killer); if (401 == victim.MonsterType) { for (int i = 0; i < Data.KillBossCountForChengJiu.Length; i++) { if (victim.MonsterInfo.ExtensionID == Data.KillBossCountForChengJiu[i]) { DailyActiveManager.CheckDailyActiveKillBoss(killer); } } } } }
public static void AddDailyActivePoints(GameClient client, int DailyActiveID, SystemXmlItem itemDailyActive, bool writeToDB = false) { int awardDailyActiveValue = Math.Max(0, itemDailyActive.GetIntValue("Award", -1)); int nVipLev = client.ClientData.VipLevel; if (nVipLev > 0 && nVipLev <= VIPEumValue.VIPENUMVALUE_MAXLEVEL) { int[] nAddNum = GameManager.systemParamsList.GetParamValueIntArrayByName("VIPHuoYueAdd", ','); if (nAddNum != null && nAddNum.Length > 0 && nAddNum.Length > VIPEumValue.VIPENUMVALUE_MAXLEVEL) { awardDailyActiveValue += nAddNum[nVipLev]; } } if (0 != awardDailyActiveValue) { client.ClientData.DailyActiveValues += awardDailyActiveValue; if (client.ClientData.DailyActiveValues >= 100) { WebOldPlayerManager.getInstance().ChouJiangAddCheck(client.ClientData.RoleID, 1); } client.ClientData.OnlineActiveVal += awardDailyActiveValue; DailyActiveManager.ModifyDailyActiveInfor(client, (uint)client.ClientData.DailyActiveValues, DailyActiveDataField1.DailyActiveValue, writeToDB); if (writeToDB) { } } }
public static void ProcessCompleteDailyTaskForDailyActive(GameClient client, int nValue) { if (!DailyActiveManager.IsDailyActiveCompleted(client, 400) || !DailyActiveManager.IsDailyActiveCompleted(client, 401)) { if (DailyActiveManager.CheckLevCondition(client, 400) || DailyActiveManager.CheckLevCondition(client, 401)) { client.ClientData.DailyCompleteDailyTaskCount = (uint)nValue; DailyActiveManager.ModifyDailyActiveInfor(client, client.ClientData.DailyCompleteDailyTaskCount, DailyActiveDataField1.DailyActiveCompleteDailyTask, true); bool bIsCompleted = false; DailyActiveManager.CheckSingleConditionForDailyActive(client, 400, 401, (long)((ulong)client.ClientData.DailyCompleteDailyTaskCount), "RiChang", out bIsCompleted); } } }
public static void CheckDailyActiveKillBoss(GameClient client) { if (!DailyActiveManager.IsDailyActiveCompleted(client, 1400)) { if (DailyActiveManager.CheckLevCondition(client, 1400)) { bool bIsCompleted = false; client.ClientData.DailyTotalKillKillBossNum += 1U; DailyActiveManager.ModifyDailyActiveInfor(client, client.ClientData.DailyTotalKillKillBossNum, DailyActiveDataField1.DailyActiveTotalKilledBossNum, true); DailyActiveManager.CheckSingleConditionForDailyActive(client, 1400, 1400, (long)client.ClientData.MyRoleDailyData.TodayKillBoss, "KillBoss", out bIsCompleted); } } }
public static void ProcessDailyActiveMergeFruit(GameClient client) { if (!DailyActiveManager.IsDailyActiveCompleted(client, 1600)) { if (DailyActiveManager.CheckLevCondition(client, 1600)) { int nNum = (int)DailyActiveManager.GetDailyActiveDataByField(client, DailyActiveDataField1.DailyActiveMergeFruit); nNum++; DailyActiveManager.ModifyDailyActiveInfor(client, (uint)nNum, DailyActiveDataField1.DailyActiveMergeFruit, true); bool bIsCompleted = false; DailyActiveManager.CheckSingleConditionForDailyActive(client, 1600, 1600, (long)nNum, "HeChengLimit", out bIsCompleted); } } }
public static void ProcessLoginForDailyActive(GameClient client, out bool bIsCompleted) { bIsCompleted = false; if (!DailyActiveManager.IsDailyActiveCompleted(client, 100)) { if (DailyActiveManager.CheckLevCondition(client, 100)) { client.ClientData.DailyActiveDayLginCount += 1U; uint nvalue = DailyActiveManager.GetDailyActiveDataByField(client, DailyActiveDataField1.DailyActiveDayLoginNum); DailyActiveManager.ModifyDailyActiveInfor(client, client.ClientData.DailyActiveDayLginCount, DailyActiveDataField1.DailyActiveDayLoginNum, true); nvalue = DailyActiveManager.GetDailyActiveDataByField(client, DailyActiveDataField1.DailyActiveDayLoginNum); DailyActiveManager.CheckSingleConditionForDailyActive(client, 100, 100, (long)((ulong)client.ClientData.DailyActiveDayLginCount), "Login", out bIsCompleted); client.ClientData.DailyActiveDayLginSetFlag = true; } } }
public static void ProcessCompleteCopyMapForDailyActive(GameClient client, int nCopyMapLev, int count = 1) { if (!DailyActiveManager.IsDailyActiveCompleted(client, 500) || !DailyActiveManager.IsDailyActiveCompleted(client, 600) || !DailyActiveManager.IsDailyActiveCompleted(client, 700)) { if (nCopyMapLev >= 0) { bool bIsCompleted = false; switch (nCopyMapLev) { case 1: if (DailyActiveManager.CheckLevCondition(client, 500)) { int nNum = (int)DailyActiveManager.GetDailyActiveDataByField(client, DailyActiveDataField1.DailyActiveCompleteCopyMap1); nNum++; nNum *= count; DailyActiveManager.ModifyDailyActiveInfor(client, (uint)nNum, DailyActiveDataField1.DailyActiveCompleteCopyMap1, true); DailyActiveManager.CheckSingleConditionForDailyActive(client, 500, 500, (long)nNum, "KillRaid", out bIsCompleted); } break; case 2: if (DailyActiveManager.CheckLevCondition(client, 600)) { int nNum = (int)DailyActiveManager.GetDailyActiveDataByField(client, DailyActiveDataField1.DailyActiveCompleteCopyMap2); nNum++; nNum *= count; DailyActiveManager.ModifyDailyActiveInfor(client, (uint)nNum, DailyActiveDataField1.DailyActiveCompleteCopyMap2, true); DailyActiveManager.CheckSingleConditionForDailyActive(client, 600, 600, (long)nNum, "KillRaid", out bIsCompleted); } break; case 3: if (DailyActiveManager.CheckLevCondition(client, 700)) { int nNum = (int)DailyActiveManager.GetDailyActiveDataByField(client, DailyActiveDataField1.DailyActiveCompleteCopyMap3); nNum++; nNum *= count; DailyActiveManager.ModifyDailyActiveInfor(client, (uint)nNum, DailyActiveDataField1.DailyActiveCompleteCopyMap3, true); DailyActiveManager.CheckSingleConditionForDailyActive(client, 700, 700, (long)nNum, "KillRaid", out bIsCompleted); } break; } } } }
public static void ProcessCompleteDailyActivityForDailyActive(GameClient client, int nType) { if (!DailyActiveManager.IsDailyActiveCompleted(client, 800) || !DailyActiveManager.IsDailyActiveCompleted(client, 900) || !DailyActiveManager.IsDailyActiveCompleted(client, 1000)) { if (nType >= 0) { bool bIsCompleted = false; switch (nType) { case 1: if (DailyActiveManager.CheckLevCondition(client, 800)) { int nNum = (int)DailyActiveManager.GetDailyActiveDataByField(client, DailyActiveDataField1.DailyActiveCompleteBloodCastle); nNum++; DailyActiveManager.ModifyDailyActiveInfor(client, (uint)nNum, DailyActiveDataField1.DailyActiveCompleteBloodCastle, true); DailyActiveManager.CheckSingleConditionForDailyActive(client, 800, 800, (long)nNum, "HuoDongLimit", out bIsCompleted); } break; case 2: if (DailyActiveManager.CheckLevCondition(client, 900)) { int nNum = (int)DailyActiveManager.GetDailyActiveDataByField(client, DailyActiveDataField1.DailyActiveCompleteDaimonSquare); nNum++; DailyActiveManager.ModifyDailyActiveInfor(client, (uint)nNum, DailyActiveDataField1.DailyActiveCompleteDaimonSquare, true); DailyActiveManager.CheckSingleConditionForDailyActive(client, 900, 900, (long)nNum, "HuoDongLimit", out bIsCompleted); } break; case 3: if (DailyActiveManager.CheckLevCondition(client, 1000)) { int nNum = (int)DailyActiveManager.GetDailyActiveDataByField(client, DailyActiveDataField1.DailyActiveCompleteBattle); nNum++; DailyActiveManager.ModifyDailyActiveInfor(client, (uint)nNum, DailyActiveDataField1.DailyActiveCompleteBattle, true); DailyActiveManager.CheckSingleConditionForDailyActive(client, 1000, 1000, (long)nNum, "HuoDongLimit", out bIsCompleted); } break; } } } }
public static void ProcessBuyItemInMallForDailyActive(GameClient client, int nValue) { int xiaoFei = Global.GetRoleParamsInt32FromDB(client, "10175"); xiaoFei += nValue; if (xiaoFei >= 100) { WebOldPlayerManager.getInstance().ChouJiangAddCheck(client.ClientData.RoleID, 2); } Global.SaveRoleParamsInt32ValueToDB(client, "10175", xiaoFei, true); if (!DailyActiveManager.IsDailyActiveCompleted(client, 300)) { if (DailyActiveManager.CheckLevCondition(client, 300)) { uint nSpend = DailyActiveManager.GetDailyActiveDataByField(client, DailyActiveDataField1.DailyActiveBuyItemInMall); client.ClientData.DailyActiveDayBuyItemInMall += (int)(nSpend + (uint)nValue); DailyActiveManager.ModifyDailyActiveInfor(client, (uint)client.ClientData.DailyActiveDayBuyItemInMall, DailyActiveDataField1.DailyActiveBuyItemInMall, true); bool bIsCompleted = false; DailyActiveManager.CheckSingleConditionForDailyActive(client, 300, 300, (long)client.ClientData.DailyActiveDayBuyItemInMall, "Consumption", out bIsCompleted); } } }
public static void SaveRoleDailyActiveData(GameClient client) { DailyActiveManager.ModifyDailyActiveInfor(client, client.ClientData.DailyTotalKillMonsterNum, DailyActiveDataField1.DailyActiveTotalKilledMonsterNum, true); }
public static int GiveDailyActiveAward(GameClient client, int nid) { int awardDailyActiveValue = 0; SystemXmlItem itemDailyActive = null; if (GameManager.systemDailyActiveAward.SystemXmlItemDict.TryGetValue(nid, out itemDailyActive)) { awardDailyActiveValue = Math.Max(0, itemDailyActive.GetIntValue("NeedhuoYue", -1)); } int result; if (awardDailyActiveValue > client.ClientData.DailyActiveValues) { result = -3; } else if (DailyActiveManager.IsDailyActiveAwardFetched(client, nid) > 0) { result = -2; } else { DailyActiveManager.ModifyDailyActiveInfor(client, (uint)client.ClientData.DailyActiveValues, DailyActiveDataField1.DailyActiveValue, true); List <GoodsData> goodsDataList = new List <GoodsData>(); string strGoods = itemDailyActive.GetStringValue("GoodsID"); if (!string.IsNullOrEmpty(strGoods)) { string[] fields = strGoods.Split(new char[] { '|' }); if (null != fields) { for (int i = 0; i < fields.Length; i++) { string strID = fields[i]; string[] strinfro = fields[i].Split(new char[] { ',' }); if (strinfro != null && strinfro.Length == 7) { GoodsData good = new GoodsData { Id = -1, GoodsID = Convert.ToInt32(strinfro[0]), Using = 0, Forge_level = Convert.ToInt32(strinfro[3]), Starttime = "1900-01-01 12:00:00", Endtime = "1900-01-01 12:00:00", Site = 0, Quality = 0, Props = "", GCount = Convert.ToInt32(strinfro[1]), Binding = Convert.ToInt32(strinfro[2]), Jewellist = "", BagIndex = 0, AddPropIndex = 0, BornIndex = 0, Lucky = Convert.ToInt32(strinfro[5]), Strong = 0, ExcellenceInfo = Convert.ToInt32(strinfro[6]), AppendPropLev = Convert.ToInt32(strinfro[4]), ChangeLifeLevForEquip = 0 }; goodsDataList.Add(good); } } if (!Global.CanAddGoodsNum(client, goodsDataList.Count)) { foreach (GoodsData item in goodsDataList) { Global.UseMailGivePlayerAward(client, item, GLang.GetLang(100, new object[0]), GLang.GetLang(100, new object[0]), 1.0); } } else { foreach (GoodsData item in goodsDataList) { GoodsData goodsData = new GoodsData { Id = -1, GoodsID = item.GoodsID, Using = 0, Forge_level = item.Forge_level, Starttime = "1900-01-01 12:00:00", Endtime = "1900-01-01 12:00:00", Site = 0, Quality = item.Quality, Props = item.Props, GCount = item.GCount, Binding = item.Binding, Jewellist = item.Jewellist, BagIndex = 0, AddPropIndex = item.AddPropIndex, BornIndex = item.BornIndex, Lucky = item.Lucky, Strong = item.Strong, ExcellenceInfo = item.ExcellenceInfo, AppendPropLev = item.AppendPropLev, ChangeLifeLevForEquip = item.ChangeLifeLevForEquip }; goodsData.Id = Global.AddGoodsDBCommand_Hook(Global._TCPManager.TcpOutPacketPool, client, goodsData.GoodsID, goodsData.GCount, goodsData.Quality, goodsData.Props, goodsData.Forge_level, goodsData.Binding, 0, goodsData.Jewellist, true, 1, "副本通关获取物品", false, goodsData.Endtime, goodsData.AddPropIndex, goodsData.BornIndex, goodsData.Lucky, goodsData.Strong, goodsData.ExcellenceInfo, goodsData.AppendPropLev, goodsData.ChangeLifeLevForEquip, true, null, null, "1900-01-01 12:00:00", 0, true); } client.ClientData.AddAwardRecord(RoleAwardMsg.DailyActive, goodsDataList, false); GameManager.ClientMgr.NotifyGetAwardMsg(client, RoleAwardMsg.DailyActive, ""); } } } DailyActiveManager.UpdateDailyActiveAwardFlag(client, nid); result = 1; } return(result); }