Procházet zdrojové kódy

简化ClickDlgSetup函数。

Jeff před 4 roky
rodič
revize
2ba610b701
1 změnil soubory, kde provedl 19 přidání a 3 odebrání
  1. 19 3
      GameAssist/GameAssist/GameAssistDlg.cpp

+ 19 - 3
GameAssist/GameAssist/GameAssistDlg.cpp

@@ -75,6 +75,7 @@ BOOL FindNPC(HWND hWnd, LPCSTR lpszNPC)
 // 单击对话框里的步骤;
 BOOL ClickDlgSetup(HWND hWnd, LPCSTR lpszTemplateImage)
 {
+#if 0
 	CRect rc;
 	TCHAR szTemplateImage[MAX_PATH] = { 0 };
 	// 先截图;
@@ -98,6 +99,19 @@ BOOL ClickDlgSetup(HWND hWnd, LPCSTR lpszTemplateImage)
 
 	DebugLog(_T("<==== 没有找到目标:%s"), lpszTemplateImage);
 	return FALSE;
+#else
+	CRect rc = FindMatchIcon(hWnd, lpszTemplateImage);
+	if (rc.IsRectEmpty() || rc.IsRectNull())
+		return FALSE;
+	
+	// 单击目标;
+	GAssist::MouseClick(hWnd, CPoint((rc.right + rc.left) / 2 + rand() % 3, (rc.top + rc.bottom) / 2 + rand() % 3), TRUE);
+	SRAND(200, 300);
+	// 单击目标后,要往移走鼠标,防止下面匹配的时候被鼠标挡住;
+	GAssist::MouseMove(hWnd, CPoint(rc.right + RAND(5, 12), rc.bottom + RAND(5, 10)));
+
+	return TRUE;
+#endif
 }
 
 CRect FindMatchIcon(HWND hWnd, LPCSTR lpszTemplateImage)
@@ -112,12 +126,12 @@ CRect FindMatchIcon(HWND hWnd, LPCSTR lpszTemplateImage)
 	_stprintf_s(szTemplateImage, _T("%s%s"), GAssist::g_strAppdir.c_str(), lpszTemplateImage);
 	if (GAssist::GetImgMatchtemplate(GAssist::g_strAppdir + _T("Game.bmp"), szTemplateImage, rc)) {
 		// 找到匹配的模块;
-		DebugLog(_T("==>找到匹配目标:%s"), lpszTemplateImage);
+		DebugLog(_T("====> 找到匹配目标:%s"), lpszTemplateImage);
 		return rc;
 	}
 
 	rc.SetRectEmpty();
-	DebugLog(_T("没找到匹配目标:%s"), lpszTemplateImage);
+	DebugLog(_T("<==== 没找到匹配目标:%s"), lpszTemplateImage);
 	return rc;
 }
 
@@ -822,7 +836,9 @@ void BattleOthers(HWND hWnd, const char* lpszName, const char* lpszSkillName)
 		// 关闭地图;
 		GAssist::SendKey(hWnd, VK_TAB); SRAND(100, 300);
 	}
-	FindNPC(hWnd, lpszName);
+	
+	if (!FindNPC(hWnd, lpszName))
+		return;
 
 	// 废话少说:表示这个没打过;
 	rc = FindMatchIcon(hWnd, _T("img\\gdd\\废话少说.bmp"));