소스 검색

打镜妖:先使用星将技能,再使用攻击功能。

Jeff 3 년 전
부모
커밋
5851a0da0e
1개의 변경된 파일39개의 추가작업 그리고 19개의 파일을 삭제
  1. 39 19
      GameAssist/GameAssist/CAction.cpp

+ 39 - 19
GameAssist/GameAssist/CAction.cpp

@@ -277,7 +277,7 @@ SRAND(80,120);
 
 		//// 单击寻路窗口;
 		MouseClick(ptMap); SRAND(300, 600);
-		
+
 		while (ImgAssist::GetImgMatchtemplate(m_hGameWnd, GameGlobal::g_strAppdir + _T("img\\世界地图.bmp"), rc)) {
 			// 退出世界地址;
 			SendKey(VK_TAB); SRAND(200, 300);
@@ -305,7 +305,7 @@ SRAND(80,120);
 			return false;
 
 		// 移动到关闭按钮;
-		MouseMove({rc.left -30 , rc.top + 10});
+		MouseMove({ rc.left - 30 , rc.top + 10 });
 		SRAND(50, 80);
 		// 再找目标;
 		rc = FindMatchIcon(lpszTemplateImage);
@@ -324,9 +324,9 @@ SRAND(80,120);
 	bool CAction::ClickDlgSetup(std::vector<std::string> vtOptions)
 	{
 		std::vector<std::string>::iterator it = vtOptions.begin();
-		for(;it != vtOptions.end(); it++)
+		for (; it != vtOptions.end(); it++)
 		{
-			
+
 		}
 
 		return false;
@@ -472,7 +472,7 @@ SRAND(80,120);
 		RECT rect = { 0,0,0,0 };
 		if (IsIdle)
 		{
-			rect = IsRole ? GameAssist::g_rcRoleIdleSP : GameAssist::g_rcSummonerIdleSP;		
+			rect = IsRole ? GameAssist::g_rcRoleIdleSP : GameAssist::g_rcSummonerIdleSP;
 		}
 		else
 		{
@@ -480,7 +480,7 @@ SRAND(80,120);
 		}
 
 		// 截图;
-		TCHAR szSPImg[MAX_PATH] = {0};
+		TCHAR szSPImg[MAX_PATH] = { 0 };
 		_stprintf_s(szSPImg, _T("%s%p_SPValue.bmp"), GameGlobal::g_szTempDir, m_hGameWnd);
 		ImgAssist::CropPicture(m_hGameWnd, rect, szSPImg);
 
@@ -492,7 +492,7 @@ SRAND(80,120);
 		RECT rect = { 0,0,0,0 };
 		if (IsIdle)
 		{
-			rect = IsRole ? GameAssist::g_rcRoleIdleHP : GameAssist::g_rcSummonerIdleHP;		
+			rect = IsRole ? GameAssist::g_rcRoleIdleHP : GameAssist::g_rcSummonerIdleHP;
 		}
 		else
 		{
@@ -510,6 +510,7 @@ SRAND(80,120);
 	void CAction::FightingJY(BOOL bHasSummoner, int nZJType, BOOL bAggressiveSkill)
 	{
 		BOOL bFirstAttack = TRUE;
+		BOOL bAltA = FALSE;
 		// 1.是否在战斗中;
 		while (IsFighting()) {
 			// 2.是否我方攻击;
@@ -520,7 +521,7 @@ SRAND(80,120);
 					SRAND(350, 500);	// 有时切换需要时间,如果不延时会失败;
 					GameGlobal::DebugLog(_T("BattleJY:第一次攻击……"));
 					// 根据角色选择技能;
-					SendKey(VK_F1);
+					SendKey(VK_F2);
 					SRAND(300, 350);
 					if (bAggressiveSkill) // 打镜妖喽罗;
 					{
@@ -555,12 +556,23 @@ SRAND(80,120);
 				}
 				else
 				{
-					GameGlobal::DebugLog(_T("BattleJY:不是第一次攻击……"));
-					SendKey(VK_A, FALSE, TRUE);
-					SRAND(80, 100);
-					if (bFirstAttack) {
+					if (!bAltA)
+					{
+						bAltA = TRUE;
+						// 根据角色选择技能;
+						SendKey(VK_F1);
+						SRAND(300, 350);
+						MouseClick(CPoint(230, 180 - 10));// 打主镜妖;
+						SRAND(350, 500);
+					}
+					else {
+						GameGlobal::DebugLog(_T("BattleJY:不是第一次攻击……"));
 						SendKey(VK_A, FALSE, TRUE);
-						SRAND(80, 120);
+						SRAND(80, 100);
+						if (bFirstAttack) {
+							SendKey(VK_A, FALSE, TRUE);
+							SRAND(80, 120);
+						}
 					}
 				}
 			}
@@ -568,7 +580,7 @@ SRAND(80,120);
 			SRAND(500, 850);
 		}
 
-		if (IsSPBelowSafeValue(TRUE, TRUE, 10))
+		if (IsSPBelowSafeValue(TRUE, TRUE, 15))
 		{
 			GameGlobal::DebugLog(_T("低SP安全值"));
 			// 右键;
@@ -576,6 +588,14 @@ SRAND(80,120);
 			MouseRClick({ (GameAssist::g_rcRoleIdleSP.right + GameAssist::g_rcRoleIdleSP.left) / 2 - 3, (GameAssist::g_rcRoleIdleSP.bottom + GameAssist::g_rcRoleIdleSP.top) / 2 - 20 });
 		}
 
+		if (bHasSummoner && IsSPBelowSafeValue(FALSE, TRUE, 10))
+		{
+			GameGlobal::DebugLog(_T("低SP安全值"));
+			// 右键;
+			MouseMove({ (GameAssist::g_rcSummonerIdleSP.right + GameAssist::g_rcSummonerIdleSP.left) / 2 - 3, (GameAssist::g_rcSummonerIdleSP.bottom + GameAssist::g_rcSummonerIdleSP.top) / 2 - 20 });
+			MouseRClick({ (GameAssist::g_rcSummonerIdleSP.right + GameAssist::g_rcSummonerIdleSP.left) / 2 - 3, (GameAssist::g_rcSummonerIdleSP.bottom + GameAssist::g_rcSummonerIdleSP.top) / 2 - 20 });
+		}
+
 		// 非战斗中,是否在贫民房中;
 		if (!IsOnMap(_T("img\\地图\\贫民房.bmp"))) {
 			// 找小米;
@@ -635,7 +655,7 @@ SRAND(80,120);
 				// 等待跑完成;
 				IsWalkStop();
 				// 移动下鼠标;
-				MouseMove(spt[(i+1)%4]);
+				MouseMove(spt[(i + 1) % 4]);
 				if (i > 10) {
 					GameGlobal::DebugLog(_T("未找到镜妖+10"));
 					break;
@@ -691,7 +711,7 @@ SRAND(80,120);
 			{
 				// 只有离开这里:已经打过,右键并退出 ;
 				GameGlobal::DebugLog("只有离开这里:已经打过,右键并退出");
-				MouseRClick({rc.left, rc.top});
+				MouseRClick({ rc.left, rc.top });
 				SRAND(200, 500);
 				return;
 			}
@@ -1100,7 +1120,7 @@ SRAND(80,120);
 			}
 		}
 	}
-	
+
 	void CAction::StartBattleJY()
 	{
 		m_hBattleJYEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
@@ -1141,12 +1161,12 @@ SRAND(80,120);
 		}
 
 	}
-	
+
 	DWORD __stdcall CAction::BattleJYThread(LPVOID lpParam)
 	{
 		int i = 0;
 		CAction* pThis = (CAction*)lpParam;
-		do 
+		do
 		{
 			GameGlobal::DebugLog(_T("start.打镜妖 %d----------------------------"), i);
 			pThis->FightingJY(pThis->m_bHasSummoner, pThis->m_nSummonerSkillType, pThis->m_bTargetOfRoleSkill);