/// <summary> /// 过滤检测 /// </summary> /// <param name="entity"></param> /// <returns></returns> protected override bool InternalFilter(WlyEntity entity) { var todayDayOfWeek = DateTime.Today.DayOfWeek; var timeCheck = (todayDayOfWeek == DayOfWeek.Saturday) || (todayDayOfWeek == DayOfWeek.Sunday); return(entity.AccountInfo.GetSwitchInfo(WlySwitchType.群雄逐鹿).Enable&& timeCheck); }
/// <summary> /// 执行任务 /// </summary> /// <param name="entity"></param> /// <returns></returns> protected override WlyTaskInfo InternalRun(WlyEntity entity) { var dmGuid = entity.DMGuid; // 跳转到主界面 WlyViewMgr.GoTo(dmGuid, WlyViewType.场景_主城); // 点击购买 DMService.Instance.LeftClick(dmGuid, new WxPoint(179, 111)); // 识别花费 var payStr = string.Empty; var wait = FlowLogicHelper.RepeatRun(() => { payStr = DMService.Instance.GetWords(dmGuid, new WxRect(528, 249, 579, 284), "ff6600-101010"); if (DMService.Instance.FindStr(dmGuid, new WxRect(485, 317, 518, 342), "确定", WlyColor.Normal)) { DMService.Instance.LeftClick(dmGuid, new WxPoint(495, 330)); return(true); } return(payStr.Contains("金币")); }, TimeSpan.FromSeconds(30)); if (!wait) { throw new InvalidOperationException("无法识别购买花费"); } // 点击购买或取消 DMService.Instance.LeftClick(dmGuid, payStr == "0金币" ? new WxPoint(454, 355) : new WxPoint(548, 352)); return(new WlyTaskInfo(ID, true)); }
/// <summary> /// 执行任务 /// </summary> /// <param name="entity"></param> /// <returns></returns> protected override WlyTaskInfo InternalRun(WlyEntity entity) { var dmGuid = entity.DMGuid; WlyViewMgr.GoTo(dmGuid, WlyViewType.功能_主线任务); var wait = FlowLogicHelper.RepeatRun(() => { if (DMService.Instance.FindStr(dmGuid, new WxRect(550, 418, 634, 446), "领取|接受", $"{WlyColor.Normal}|{WlyColor.White}")) { DMService.Instance.LeftClick(dmGuid, new WxPoint(592, 436)); } if (DMService.Instance.FindStr(dmGuid, new WxRect(550, 418, 634, 446), "取消", $"{WlyColor.Normal}|{WlyColor.White}")) { return(true); } return(false); }, TimeSpan.FromSeconds(120)); if (!wait) { return(new WlyTaskInfo(ID, WlyUtilityBiz.GetRefreshTime())); } return(new WlyTaskInfo(ID, true)); }
/// <summary> /// 执行任务 /// </summary> /// <param name="entity"></param> /// <returns></returns> protected override WlyTaskInfo InternalRun(WlyEntity entity) { var dmGuid = entity.DMGuid; WlyViewMgr.GoTo(dmGuid, WlyViewType.功能_主公信息); DMService.Instance.LeftClick(dmGuid, new WxPoint(355, 214), TimeSpan.FromSeconds(2)); DMService.Instance.LeftClick(dmGuid, new WxPoint(506, 157), TimeSpan.FromSeconds(2)); DMService.Instance.LeftClick(dmGuid, new WxPoint(793, 391), TimeSpan.FromSeconds(2)); DMService.Instance.LeftClick(dmGuid, new WxPoint(457, 353), TimeSpan.FromSeconds(2)); DMService.Instance.LeftClick(dmGuid, new WxPoint(863, 118), TimeSpan.FromSeconds(2)); WlyViewMgr.GoTo(dmGuid, WlyViewType.功能_仓库); DMService.Instance.LeftClick(dmGuid, new WxPoint(220, 230)); if (DMService.Instance.FindStr(dmGuid, new WxRect(475, 403, 529, 433), "使用", WlyColor.Normal)) { DMService.Instance.LeftClick(dmGuid, new WxPoint(500, 417)); return(new WlyTaskInfo(ID, true)); } DMService.Instance.LeftClick(dmGuid, new WxPoint(278, 231)); if (DMService.Instance.FindStr(dmGuid, new WxRect(475, 403, 529, 433), "使用", WlyColor.Normal)) { DMService.Instance.LeftClick(dmGuid, new WxPoint(500, 417)); return(new WlyTaskInfo(ID, true)); } WlyEntityBiz.ClearEquipments(entity); if (entity.AccountInfo.GetStaffInfo(WlyStaffType.文凤卿).GetEquipInfo(WlyEquipType.物理防御).Quality >= WlyQualityType.Purple) { return(new WlyTaskInfo(ID, true)); } return(new WlyTaskInfo(ID)); }
/// <summary> /// 执行任务 /// </summary> /// <param name="entity"></param> /// <returns></returns> protected override WlyTaskInfo InternalRun(WlyEntity entity) { var dmGuid = entity.DMGuid; // 首先跳转到擂台赛界面 WlyViewMgr.GoTo(dmGuid, WlyViewType.日常_擂台赛); Thread.Sleep(5000); // 计算助威人数 WlyUtilityBiz.GetAmount(dmGuid, new WxRect(330, 369, 365, 383), "ebe9cf-101010", out var count1); WlyUtilityBiz.GetAmount(dmGuid, new WxRect(340, 421, 364, 434), "ebe9cf-101010", out var count2); // 上面数字大就助威上面,下面大助威下面 var target = count1 >= count2 ? new WxPoint(404, 371) : new WxPoint(405, 423); DMService.Instance.LeftClick(dmGuid, target); DMService.Instance.LeftClick(dmGuid, target); DMService.Instance.LeftClick(dmGuid, target); DMService.Instance.LeftClick(dmGuid, target); // 助威 DMService.Instance.LeftClick(dmGuid, new WxPoint(515, 553)); // 确定 DMService.Instance.LeftClick(dmGuid, new WxPoint(453, 332)); // 退出 DMService.Instance.LeftClick(dmGuid, new WxPoint(911, 549)); return(new WlyTaskInfo(ID, true)); }
/// <summary> /// 执行任务 /// </summary> /// <param name="entity"></param> /// <returns></returns> protected override WlyTaskInfo InternalRun(WlyEntity entity) { var info = entity.AccountInfo.GetStaffInfo(m_staff); info.TargetType = m_soldierType; return(new WlyTaskInfo(ID, true)); }
/// <summary> /// 获取任务列表 /// </summary> /// <param name="entity"></param> public void InitEntityTasks(WlyEntity entity) { var timebase = DateTime.Today > DateTime.Now.AddHours(-4) ? DateTime.Today.AddDays(-1) : DateTime.Today; foreach (var task in m_taskDict.Values) { if (task is WlyTimeTask tt) { var time = timebase.Add(tt.StartTime); entity.AddTask(task, time); } else if (task is WlyDailyTask) { entity.AddTask(task, timebase.AddHours(4)); } else { entity.AddTask(task, DateTime.MinValue); } } var tasklist = m_taskDict.Values.Select(o => o.ID); entity.ClearTasks(tasklist); }
/// <summary> /// 执行任务 /// </summary> /// <param name="entity"></param> /// <returns></returns> protected override WlyTaskInfo InternalRun(WlyEntity entity) { //var dmGuid = entity.DMGuid; //WlyViewMgr.GoTo(dmGuid, WlyViewType.功能_征收); //while (true) //{ // var wait = FlowLogicHelper.RepeatRun(() => DMService.Instance.FindStr(dmGuid, new WxRect(447, 246, 503, 270), "金币", "ffff00-000000"), // TimeSpan.FromSeconds(20)); // if (!wait) // { // throw new InvalidOperationException("无法识别强征花费"); // } // if (DMService.Instance.FindStr(dmGuid, new WxRect(447, 246, 503, 270), "2金币", "ffff00-000000")) // { // DMService.Instance.LeftClick(dmGuid, new WxPoint(685, 231), TimeSpan.FromSeconds(1)); // } // else // { // break; // } //} return(new WlyTaskInfo(ID, true)); }
/// <summary> /// 执行任务 /// </summary> /// <param name="entity"></param> /// <returns></returns> protected override WlyTaskInfo InternalRun(WlyEntity entity) { var dmGuid = entity.DMGuid; // 首先跳转到擂台赛界面 WlyViewMgr.GoTo(dmGuid, WlyViewType.日常_擂台赛); // 找一个位置 var wait = FlowLogicHelper.RepeatRun(() => { if (DMService.Instance.FindStr(dmGuid, new WxRect(329, 112, 953, 496), "擂", "feff99-000000", out var x, out var y)) { DMService.Instance.LeftClick(dmGuid, new WxPoint(x, y)); return(true); } Thread.Sleep(1000); return(false); }, TimeSpan.FromSeconds(10)); if (!wait) { throw new InvalidOperationException(); } // 点击报名 var signupPoint = new WxPoint(393, 551); DMService.Instance.LeftClick(dmGuid, signupPoint); return(new WlyTaskInfo(ID, true)); }
/// <summary> /// 执行任务 /// </summary> /// <param name="entity"></param> /// <returns></returns> protected override WlyTaskInfo InternalRun(WlyEntity entity) { var dmGuid = entity.DMGuid; WlyViewMgr.GoTo(dmGuid, WlyViewType.场景_主城); WlyUtilityBiz.GetPercent(dmGuid, new WxRect(137, 47, 238, 68), "e9e7cf-000000", out var persent); if (persent > 0.8) { return(new WlyTaskInfo(ID, true)); WlyViewMgr.GoTo(dmGuid, WlyViewType.功能_卖粮); DMService.Instance.LeftClick(dmGuid, new WxPoint(760, 343)); DMService.Instance.LeftClick(dmGuid, new WxPoint(762, 377)); } WlyViewMgr.GoTo(dmGuid, WlyViewType.建筑_农田); FlowLogicHelper.RepeatRun(() => { if (DMService.Instance.FindColor(dmGuid, "aaaaaa-000000", new WxRect(341, 402, 367, 413))) { return(true); } FlowLogicHelper.RepeatRun(() => DMService.Instance.LeftClick(dmGuid, new WxPoint(350, 407), TimeSpan.FromMilliseconds(100)), 5); return(false); }, TimeSpan.FromSeconds(10)); return(new WlyTaskInfo(ID, true)); }
/// <summary> /// 执行任务 /// </summary> /// <param name="entity"></param> /// <returns></returns> protected override WlyTaskInfo InternalRun(WlyEntity entity) { var dmGuid = entity.DMGuid; WlyStaffMgr.Evolve(m_staff, dmGuid); return(new WlyTaskInfo(ID, true)); }
/// <summary> /// 执行任务 /// </summary> /// <param name="entity"></param> /// <returns></returns> protected override WlyTaskInfo InternalRun(WlyEntity entity) { var sub = (SubEntity)entity; var dmGuid = entity.DMGuid; WlyViewMgr.GoTo(dmGuid, WlyViewType.场景_主界面); // 获取名称 var name = DMService.Instance.GetWords(dmGuid, new WxRect(54, 0, 134, 24), "eae7d0-000000"); if (!name.Contains("海潮")) { WxLog.Error($"任务_名称检测.InternalRun Invalid Name <{name}> Account <{entity.Account}> Psw <{entity.Password}> UID<{entity.AccountInfo.UID}>"); return(new WlyTaskInfo(ID) { NextRunTime = DateTime.Now.AddDays(7) }); } try { sub.Info.Name = name; sub.Info.Index = int.Parse(name.Substring(2)); entity.Stop(); return(new WlyTaskInfo(ID, true)); } catch (Exception ex) { WxLog.Error($"任务_名称检测.InternalRun Name<{name}> Error <{ex}>"); return(new WlyTaskInfo(ID, DateTime.Now.AddDays(7))); } }
/// <summary> /// 执行任务 /// </summary> /// <param name="entity"></param> /// <returns></returns> protected override WlyTaskInfo InternalRun(WlyEntity entity) { var sub = entity as SubEntity; var index = sub.Index; if (((index > 100) && (index < 200)) || ((index > 300) && (index < 400))) { var dmGuid = entity.DMGuid; WlyViewMgr.GoTo(dmGuid, WlyViewType.功能_军团); DMService.Instance.LeftClick(dmGuid, new WxPoint(770, 478), TimeSpan.FromSeconds(1)); DMService.Instance.LeftClick(dmGuid, new WxPoint(452, 333), TimeSpan.FromSeconds(1)); if (DMService.Instance.FindStr(dmGuid, new WxRect(481, 320, 516, 343), "确定", WlyColor.Normal)) { DMService.Instance.LeftClick(dmGuid, new WxPoint(500, 330)); WlyViewMgr.GoTo(dmGuid, WlyViewType.场景_主城); return(new WlyTaskInfo(ID, true)); } } else { return(new WlyTaskInfo(ID, true)); } throw new InvalidOperationException(); }
/// <summary> /// 执行任务 /// </summary> /// <param name="entity"></param> /// <returns></returns> protected override WlyTaskInfo InternalRun(WlyEntity entity) { var dmGuid = entity.DMGuid; // 进入城池争夺战界面 WlyViewMgr.GoTo(dmGuid, WlyViewType.日常_城池争夺战); // 等待所有UI加载完成 Thread.Sleep(2000); if (!DMService.Instance.FindStr(dmGuid, new WxRect(625, 558, 690, 590), "一键挂机", "cccccc-000000")) { // 点击一键 var oneClickPoint = new WxPoint(659, 574); DMService.Instance.LeftClick(dmGuid, oneClickPoint); // 点击确定 var okPoint = new WxPoint(451, 330); DMService.Instance.LeftClick(dmGuid, okPoint); // 点击领取 var getPoint = new WxPoint(544, 440); DMService.Instance.LeftClick(dmGuid, getPoint); // 点击退出 var exitPoint = new WxPoint(949, 571); DMService.Instance.LeftClick(dmGuid, exitPoint); } return(new WlyTaskInfo(ID, true)); }
/// <summary> /// 执行任务 /// </summary> /// <param name="entity"></param> /// <returns></returns> protected override WlyTaskInfo InternalRun(WlyEntity entity) { var dmGuid = entity.DMGuid; WlyViewMgr.GoTo(dmGuid, WlyViewType.功能_商城); // 购买所有可以使用粮食和银币购买的东西 var itemRects = new List <WxRect> { new WxRect(262, 301, 332, 327), new WxRect(411, 304, 472, 325), new WxRect(551, 304, 619, 326), new WxRect(266, 418, 329, 439), new WxRect(408, 417, 474, 440), new WxRect(556, 417, 617, 442) }; foreach (var rect in itemRects) { if (WlyUtilityBiz.GetAmount(dmGuid, rect, "ffffff-000000", out var _)) { DMService.Instance.LeftClick(dmGuid, new WxPoint(rect.Left, rect.Top)); DMService.Instance.LeftClick(dmGuid, new WxPoint(415, 470)); if (DMService.Instance.FindStr(dmGuid, new WxRect(434, 338, 473, 366), "确定", WlyColor.Normal)) { DMService.Instance.LeftClick(dmGuid, new WxPoint(459, 311)); DMService.Instance.LeftClick(dmGuid, new WxPoint(457, 351)); } } } return(new WlyTaskInfo(ID, true)); }
/// <summary> /// 执行任务 /// </summary> /// <param name="entity"></param> /// <returns></returns> protected override WlyTaskInfo InternalRun(WlyEntity entity) { if (!entity.AccountInfo.GetSwitchInfo(WlySwitchType.海鲜副本).Enable) { return(new WlyTaskInfo(ID, true)); } var dmGuid = entity.DMGuid; WlyViewMgr.GoTo(dmGuid, WlyViewType.场景_海鲜副本); var view = WlyViewMgr.GetView(WlyViewType.导航_日常按钮栏); if (view.IsCurrentView(dmGuid)) { view.Exit(dmGuid); } // 循环执行两分钟 var startTime = DateTime.Now; while (DateTime.Now - startTime < TimeSpan.FromMinutes(2)) { Attack(dmGuid, new WxPoint(803, 441)); } return(new WlyTaskInfo(ID, true)); }
/// <summary> /// 执行任务 /// </summary> /// <param name="entity"></param> /// <returns></returns> protected override WlyTaskInfo InternalRun(WlyEntity entity) { var sub = (SubEntity)entity; if (sub.Info.Check) { return(new WlyTaskInfo(ID, true)); } // 开始检测 var dmGuid = sub.DMGuid; WlyViewMgr.GoTo(dmGuid, WlyViewType.功能_军团); var result = DMService.Instance.FindPic(dmGuid, WlyPicType.吴国军团, new WxRect(189, 287, 794, 443), out var x, out var y); if (result) { DMService.Instance.LeftClick(dmGuid, new WxPoint(x, y)); if (DMService.Instance.FindStr(dmGuid, new WxRect(390, 182, 443, 211), "吴之团", "e9e7cf-000000")) { sub.Info.Check = true; return(new WlyTaskInfo(ID, true)); } } throw new InvalidOperationException("认证失败"); }
/// <summary> /// 执行任务 /// </summary> /// <param name="entity"></param> /// <returns></returns> protected override WlyTaskInfo InternalRun(WlyEntity entity) { var dmGuid = entity.DMGuid; WlyFormationMgr.SetStaff(m_staff, m_formation, m_index, dmGuid); return(new WlyTaskInfo(ID, true)); }
/// <summary> /// 执行任务 /// </summary> /// <param name="entity"></param> /// <returns></returns> protected override WlyTaskInfo InternalRun(WlyEntity entity) { var dmGuid = entity.DMGuid; WlyViewMgr.GoTo(dmGuid, WlyViewType.功能_属臣); DMService.Instance.LeftClick(dmGuid, new WxPoint(592, 469)); return(new WlyTaskInfo(ID, true)); }
/// <summary> /// 执行任务 /// </summary> /// <param name="entity"></param> /// <returns></returns> protected override WlyTaskInfo InternalRun(WlyEntity entity) { entity.Restart(); return(new WlyTaskInfo(ID) { NextRunTime = DateTime.Today.AddDays(1).AddHours(4).AddMinutes(1) }); }
/// <summary> /// 执行任务 /// </summary> /// <param name="entity"></param> /// <returns></returns> protected override WlyTaskInfo InternalRun(WlyEntity entity) { var endTime = new DateTime(2018, 7, 16, 4, 0, 0); if (DateTime.Now > endTime) { return(new WlyTaskInfo(ID, true)); } var dmGuid = entity.DMGuid; WlyViewMgr.GoTo(dmGuid, WlyViewType.功能_厉兵秣马); // 领取两个大包厢 DMService.Instance.LeftClick(dmGuid, new WxPoint(228, 227)); DMService.Instance.LeftClick(dmGuid, new WxPoint(227, 328)); // 循环领取七天的奖励 var start = new WxPoint(375, 177); for (var i = 0; i < 7; i++) { DMService.Instance.LeftClick(dmGuid, start.Shift(70 * i, 0), TimeSpan.FromSeconds(1)); FlowLogicHelper.RepeatRun(() => { var rect = new WxRect(733, 290, 790, 312); var point = new WxPoint(761, 299); Thread.Sleep(1000); if (DMService.Instance.FindStr(dmGuid, new WxRect(357, 300, 436, 320), "打猎", "fffdd4-000000")) { rect = new WxRect(732, 378, 792, 400); point = new WxPoint(759, 388); } if (DMService.Instance.FindStr(dmGuid, rect, "领取奖励", WlyColor.Normal, WlyColor.White)) { DMService.Instance.LeftClick(dmGuid, point); return(false); } if (DMService.Instance.FindStr(dmGuid, rect, "前往", WlyColor.Normal)) { return(true); } if (DMService.Instance.FindStr(dmGuid, new WxRect(485, 317, 518, 342), "确定", WlyColor.Normal)) { DMService.Instance.LeftClick(dmGuid, new WxPoint(495, 330)); } return(false); }, TimeSpan.FromSeconds(10)); } return(new WlyTaskInfo(ID, true)); }
/// <summary> /// 执行任务 /// </summary> /// <param name="entity"></param> /// <returns></returns> protected override WlyTaskInfo InternalRun(WlyEntity entity) { var dmGuid = entity.DMGuid; // 进入古城探险界面 WlyViewMgr.GoTo(dmGuid, WlyViewType.日常_古城探秘); Thread.Sleep(400); // 获取剩余次数 var countRect = new WxRect(614, 424, 634, 442); if (WlyUtilityBiz.GetAmount(dmGuid, countRect, WlyColor.Normal, out var count) && (count == 0)) { WlyViewMgr.ExitCurrentView(dmGuid, TimeSpan.FromSeconds(30)); return(new WlyTaskInfo(ID, true)); } // 开始一键探险 DMService.Instance.LeftClick(dmGuid, new WxPoint(567, 392)); var wait = SpinWait.SpinUntil(() => { Thread.Sleep(1000); return(DMService.Instance.FindStr(dmGuid, new WxRect(549, 487, 587, 513), "扫荡", WlyColor.Normal)); }, TimeSpan.FromSeconds(10)); if (!wait) { return(new WlyTaskInfo(ID, DateTime.Now.AddMinutes(1))); } // 勾上选项 DMService.Instance.LeftClick(dmGuid, new WxPoint(422, 214)); DMService.Instance.LeftClick(dmGuid, new WxPoint(439, 237)); DMService.Instance.LeftClick(dmGuid, new WxPoint(423, 420)); //DMService.Instance.LeftClick(dmGuid, new WxPoint(421, 444)); // 开始扫荡 DMService.Instance.LeftClick(dmGuid, new WxPoint(557, 501)); // 等待扫荡结束 wait = SpinWait.SpinUntil(() => { Thread.Sleep(1000); return(DMService.Instance.FindStr(dmGuid, new WxRect(447, 477, 515, 501), "已完成全部", "ff3300-000000")); }, TimeSpan.FromSeconds(60)); if (!wait) { return(new WlyTaskInfo(ID, DateTime.Now.AddMinutes(1))); } // 完成古城探秘 DMService.Instance.LeftClick(dmGuid, new WxPoint(763, 126)); Thread.Sleep(400); WlyViewMgr.ExitCurrentView(dmGuid, TimeSpan.FromSeconds(30)); return(new WlyTaskInfo(ID, DateTime.Now)); }
/// <summary> /// 执行任务 /// </summary> /// <param name="entity"></param> /// <returns></returns> protected override WlyTaskInfo InternalRun(WlyEntity entity) { var dmGuid = entity.DMGuid; WlyViewMgr.GoTo(dmGuid, WlyViewType.功能_商城); DMService.Instance.LeftClick(dmGuid, new WxPoint(559, 468)); var costStr = string.Empty; var wait = FlowLogicHelper.RepeatRun(() => { costStr = DMService.Instance.GetWords(dmGuid, new WxRect(473, 265, 518, 285), "ffff00-101010"); return(costStr.Contains("金币")); }, TimeSpan.FromSeconds(5)); if (!wait) { throw new InvalidOperationException("无法确认商城刷新的花费"); } if (costStr == "10金币") { DMService.Instance.LeftClick(dmGuid, new WxPoint(460, 357), TimeSpan.FromSeconds(2)); // 购买所有可以使用粮食和银币购买的东西 var itemRects = new List <WxRect> { new WxRect(262, 301, 332, 327), new WxRect(411, 304, 472, 325), new WxRect(551, 304, 619, 326), new WxRect(266, 418, 329, 439), new WxRect(408, 417, 474, 440), new WxRect(556, 417, 617, 442) }; foreach (var rect in itemRects) { if (WlyUtilityBiz.GetAmount(dmGuid, rect, "ffffff-000000", out var _)) { DMService.Instance.LeftClick(dmGuid, new WxPoint(rect.Left, rect.Top)); DMService.Instance.LeftClick(dmGuid, new WxPoint(415, 470)); if (DMService.Instance.FindStr(dmGuid, new WxRect(434, 338, 473, 366), "确定", WlyColor.Normal)) { DMService.Instance.LeftClick(dmGuid, new WxPoint(459, 311)); DMService.Instance.LeftClick(dmGuid, new WxPoint(457, 351)); } } } } else { DMService.Instance.LeftClick(dmGuid, new WxPoint(547, 353)); } return(new WlyTaskInfo(ID, true)); }
/// <summary> /// 执行任务 /// </summary> /// <param name="entity"></param> /// <returns></returns> protected override WlyTaskInfo InternalRun(WlyEntity entity) { var dmGuid = entity.DMGuid; WlyViewMgr.GoTo(dmGuid, WlyViewType.场景_虎牢关战役); DMService.Instance.LeftClick(dmGuid, new WxPoint(496, 483), TimeSpan.FromSeconds(10)); WlyViewMgr.GoTo(dmGuid, WlyViewType.场景_虎牢关战役); DMService.Instance.LeftClick(dmGuid, new WxPoint(50, 230)); return(new WlyTaskInfo(ID, true)); }
/// <summary> /// 过滤检测 /// </summary> /// <param name="entity"></param> /// <returns></returns> protected override bool InternalFilter(WlyEntity entity) { var infoDict = entity.AccountInfo.TaskInfoDict; if (infoDict.ContainsKey(ID) && infoDict[ID].IsComplete) { return(false); } return(true); }
/// <summary> /// 执行任务 /// </summary> /// <param name="entity"></param> /// <returns></returns> protected override WlyTaskInfo InternalRun(WlyEntity entity) { var dmGuid = entity.DMGuid; var result = WlyUtilityBiz.GetPercent(dmGuid, new WxRect(137, 71, 236, 90), "e9e7cf-000000", out var percent); if (result && (percent < 1)) { WlyUtilityBiz.GetSoldier(entity.DMGuid); } return(new WlyTaskInfo(ID, true)); }
/// <summary> /// 执行任务 /// </summary> /// <param name="entity"></param> /// <returns></returns> protected override WlyTaskInfo InternalRun(WlyEntity entity) { var dmGuid = entity.DMGuid; WlyViewMgr.GoTo(dmGuid, WlyViewType.功能_军团科技); DMService.Instance.LeftClick(dmGuid, new WxPoint(423, 474)); DMService.Instance.LeftClick(dmGuid, new WxPoint(589, 285)); DMService.Instance.LeftClick(dmGuid, new WxPoint(436, 364)); return(new WlyTaskInfo(ID, true)); }
/// <summary> /// 执行任务 /// </summary> /// <param name="entity"></param> /// <returns></returns> protected override WlyTaskInfo InternalRun(WlyEntity entity) { // 升级军团科技 var dmGuid = entity.DMGuid; if (WlyGroupMgr.Upgrade(dmGuid)) { return(new WlyTaskInfo(ID, true)); } return(new WlyTaskInfo(ID, WlyUtilityBiz.GetRefreshTime())); }
/// <summary> /// 执行任务 /// </summary> /// <param name="entity"></param> /// <returns></returns> protected override WlyTaskInfo InternalRun(WlyEntity entity) { var dmGuid = entity.DMGuid; if (DMService.Instance.FindStr(dmGuid, new WxRect(511, 176, 548, 199), "物品", WlyColor.Normal)) { var equip = WlyEquipMgr.GetEquipInfo(dmGuid); // 每次重铸执行100次 for (var i = 0; i < 1000; i++) { DMService.Instance.LeftClick(dmGuid, new WxPoint(555, 428)); FlowLogicHelper.RepeatRun(() => { if (equip.Type == WlyEquipType.带兵量) { if (DMService.Instance.FindColor(dmGuid, "20ef4c-000000", new WxRect(780, 412, 798, 427))) { DMService.Instance.LeftClick(dmGuid, new WxPoint(584, 425), TimeSpan.FromSeconds(1)); return(true); } if (DMService.Instance.FindColor(dmGuid, "ff0000-000000", new WxRect(780, 412, 798, 427))) { DMService.Instance.LeftClick(dmGuid, new WxPoint(502, 428)); return(true); } } else { if (DMService.Instance.FindColor(dmGuid, "20ef4c-000000", new WxRect(780, 437, 798, 453))) { DMService.Instance.LeftClick(dmGuid, new WxPoint(584, 425), TimeSpan.FromSeconds(1)); return(true); } if (DMService.Instance.FindColor(dmGuid, "ff0000-000000", new WxRect(780, 437, 798, 453))) { DMService.Instance.LeftClick(dmGuid, new WxPoint(502, 428)); return(true); } } Thread.Sleep(500); return(true); }, TimeSpan.FromSeconds(5)); } } return(new WlyTaskInfo(ID, true)); }
/// <summary> /// 执行任务 /// </summary> /// <param name="entity"></param> /// <returns></returns> protected override WlyTaskInfo InternalRun(WlyEntity entity) { var dmGuid = entity.DMGuid; WlyViewMgr.GoTo(dmGuid, WlyViewType.场景_世界地图); // 确认投资冷却时间 if (DMService.Instance.FindStr(dmGuid, new WxRect(100, 212, 145, 234), "可投资", "20ef4c-000000")) { WlyMapMgr.OpenCity(dmGuid, m_city); var s1 = DMService.Instance.GetWords(dmGuid, new WxRect(470, 352, 565, 370), "e9e7cf-000000"); var v1 = int.Parse(s1.Split('/')[0]); WlyUtilityBiz.SystemInfo.Develop1 = v1; var s2 = DMService.Instance.GetWords(dmGuid, new WxRect(470, 374, 565, 939), "e9e7cf-000000"); var v2 = int.Parse(s2.Split('/')[0]); WlyUtilityBiz.SystemInfo.Develop2 = v2; WlyUtilityBiz.SystemInfo.Save(); var wait = FlowLogicHelper.RepeatRun(() => { if (DMService.Instance.FindStr(dmGuid, new WxRect(470, 214, 494, 236), "城", WlyColor.Normal)) { return(true); } DMService.Instance.LeftClick(dmGuid, new WxPoint(660, 277)); return(false); }, TimeSpan.FromSeconds(5)); if (!wait) { throw new InvalidOperationException("无法打开城池进行开发"); } if (v1 > v2) { DMService.Instance.LeftClick(dmGuid, new WxPoint(583, 267)); DMService.Instance.LeftClick(dmGuid, new WxPoint(536, 301)); } DMService.Instance.LeftClick(dmGuid, new WxPoint(440, 367), TimeSpan.FromSeconds(2)); } if (!DMService.Instance.FindColor(dmGuid, "33ffff-000000", new WxRect(100, 212, 160, 234))) { return(new WlyTaskInfo(ID, WlyUtilityBiz.GetRefreshTime())); } var coolTime = WlyUtilityBiz.GetTime(dmGuid, new WxRect(100, 212, 160, 234), "33ffff-000000"); return(new WlyTaskInfo(ID, DateTime.Now.Add(coolTime))); }