|
@@ -1131,6 +1131,8 @@ BOOL CGameAssistDlg::OnInitDialog()
|
|
|
}
|
|
|
m_cbZYNPC.SetCurSel(0);
|
|
|
|
|
|
+ OnBnClickedButton11();
|
|
|
+
|
|
|
return TRUE; // 除非将焦点设置到控件,否则返回 TRUE
|
|
|
}
|
|
|
|
|
@@ -1184,6 +1186,15 @@ HCURSOR CGameAssistDlg::OnQueryDragIcon()
|
|
|
}
|
|
|
|
|
|
|
|
|
+HWND CGameAssistDlg::GetCurGameWnd()
|
|
|
+{
|
|
|
+ int nCurSel = m_cbGameRole.GetCurSel();
|
|
|
+ if (nCurSel == CB_ERR)
|
|
|
+ return NULL;
|
|
|
+
|
|
|
+ return (HWND)m_cbGameRole.GetItemDataPtr(nCurSel);
|
|
|
+}
|
|
|
+
|
|
|
void CGameAssistDlg::OnBnClickedOpengame()
|
|
|
{
|
|
|
#if 1 // 获取游戏标题;
|
|
@@ -1381,7 +1392,9 @@ void CGameAssistDlg::OnBnClickedOpengame()
|
|
|
void CGameAssistDlg::OnBnClickedButton2() // 截图;
|
|
|
{
|
|
|
// TODO: 在此添加控件通知处理程序代码
|
|
|
- HWND hWnd = GAssist::GetProcessMainWnd();
|
|
|
+ HWND hWnd = GetCurGameWnd();// GAssist::GetProcessMainWnd();
|
|
|
+ if (hWnd == NULL)
|
|
|
+ return;
|
|
|
UpdateData();
|
|
|
INT nX = GetDlgItemInt(IDC_EDIT3);
|
|
|
INT nY = GetDlgItemInt(IDC_EDIT4);
|
|
@@ -1401,7 +1414,7 @@ void CGameAssistDlg::OnBnClickedButton2() //
|
|
|
}
|
|
|
|
|
|
#if 0
|
|
|
- HWND hWnd = GAssist::GetProcessMainWnd();
|
|
|
+ HWND hWnd = GetCurGameWnd();//GAssist::GetProcessMainWnd();
|
|
|
|
|
|
#if 1
|
|
|
// 快捷键;
|
|
@@ -1457,7 +1470,7 @@ void CGameAssistDlg::OnBnClickedButton2() //
|
|
|
|
|
|
#if 0
|
|
|
CRect rc;
|
|
|
- HWND hProWnd = GAssist::GetProcessMainWnd();
|
|
|
+ HWND hWnd = GetCurGameWnd();// GAssist::GetProcessMainWnd();
|
|
|
// POINT spt= { 20, 555 }; // 左下角;
|
|
|
//POINT spt = { 20, 50 }; // 左上角
|
|
|
POINT spt = { 625, 28 }; // 战斗时的右上角
|
|
@@ -1473,7 +1486,7 @@ void CGameAssistDlg::OnBnClickedButton2() //
|
|
|
|
|
|
#if 0
|
|
|
CRect rc;
|
|
|
- HWND hProWnd = GAssist::GetProcessMainWnd();
|
|
|
+ HWND hWnd = GetCurGameWnd();// GAssist::GetProcessMainWnd();
|
|
|
POINT spt[4] = { { 250, 335 }, { 310,360}, { 385, 315}, { 280,295 } };
|
|
|
static int i = 2;
|
|
|
if (i < 4)
|
|
@@ -1521,7 +1534,9 @@ void CGameAssistDlg::OnBnClickedButton3() //
|
|
|
|
|
|
|
*/
|
|
|
CRect rc;
|
|
|
- HWND hProWnd = GAssist::GetProcessMainWnd();
|
|
|
+ HWND hWnd = GetCurGameWnd();//GAssist::GetProcessMainWnd();
|
|
|
+ if (hWnd == NULL)
|
|
|
+ return;
|
|
|
int nZJType = 0;
|
|
|
if (m_cbZJ.GetCheck() || m_cbZJ2.GetCheck())
|
|
|
{
|
|
@@ -1536,7 +1551,7 @@ void CGameAssistDlg::OnBnClickedButton3() //
|
|
|
{
|
|
|
UpdateData(FALSE);
|
|
|
DebugLog(_T("start.打镜妖 %d----------------------------"), i);
|
|
|
- BattleJY(hProWnd, m_cbSummoner.GetCheck(), nZJType, m_cbAggressiveSkill.GetCheck());
|
|
|
+ BattleJY(hWnd, m_cbSummoner.GetCheck(), nZJType, m_cbAggressiveSkill.GetCheck());
|
|
|
DebugLog(_T("end.打镜妖 %d----------------------------\n"), i);
|
|
|
}
|
|
|
}
|
|
@@ -1547,7 +1562,9 @@ void CGameAssistDlg::OnBnClickedButton4() //
|
|
|
// TODO: 在此添加控件通知处理程序代码
|
|
|
// 星秀村:送礼协会会长丙
|
|
|
// 【星】铜钱怪
|
|
|
- HWND hWnd = GAssist::GetProcessMainWnd();
|
|
|
+ HWND hWnd = GetCurGameWnd();// GAssist::GetProcessMainWnd();
|
|
|
+ if (hWnd == NULL)
|
|
|
+ return;
|
|
|
FindNPC(hWnd, _T("送礼协会会长丙"));
|
|
|
IsWalkStop(hWnd);
|
|
|
|
|
@@ -1733,15 +1750,17 @@ void CGameAssistDlg::OnBnClickedButton4() //
|
|
|
|
|
|
void CGameAssistDlg::OnBnClickedButton5() // 开宝箱;
|
|
|
{
|
|
|
- HWND hProcessMainWnd = GAssist::GetProcessMainWnd();
|
|
|
+ HWND hWnd = GetCurGameWnd();// GAssist::GetProcessMainWnd();
|
|
|
+ if (hWnd == NULL)
|
|
|
+ return;
|
|
|
if (GAssist::nGameWndType == GAssist::GW_SMALL)
|
|
|
{
|
|
|
CRect rc;
|
|
|
MouseAssist mouseAssist;
|
|
|
- mouseAssist.BindWnd(hProcessMainWnd, PT_TYPE::SCREEN_POINT);
|
|
|
+ mouseAssist.BindWnd(hWnd, PT_TYPE::SCREEN_POINT);
|
|
|
for (int i = 0; i < 50; i++)
|
|
|
{
|
|
|
- if (!GAssist::GetImgMatchtemplate(hProcessMainWnd, GAssist::g_strAppdir + _T("img\\开宝箱\\应天府铁匠.bmp"), rc))
|
|
|
+ if (!GAssist::GetImgMatchtemplate(hWnd, GAssist::g_strAppdir + _T("img\\开宝箱\\应天府铁匠.bmp"), rc))
|
|
|
{
|
|
|
// 没找到,要将鼠标从目标中移走;并且要右击一次将目标的高亮状态取消;
|
|
|
mouseAssist.SetCursorPos(rc.top + rand() % 5, rc.left + rand() % 5);
|
|
@@ -1750,14 +1769,14 @@ void CGameAssistDlg::OnBnClickedButton5() //
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- GAssist::MouseClick(hProcessMainWnd, CPoint((rc.right + rc.left) / 2 + rand() % 3, (rc.top + rc.bottom) / 2 + rand() % 5));
|
|
|
+ GAssist::MouseClick(hWnd, CPoint((rc.right + rc.left) / 2 + rand() % 3, (rc.top + rc.bottom) / 2 + rand() % 5));
|
|
|
Sleep(600 + rand() % 30);
|
|
|
// 再移动下,会更高精度;
|
|
|
mouseAssist.MoveTo(rc.top - rand() % 15, rc.left - rand() % 15);
|
|
|
// 判断是否还有对话,如果没有的话表明不是第一次进入;
|
|
|
- if (GAssist::GetImgMatchtemplate(hProcessMainWnd, GAssist::g_strAppdir + _T("img\\开宝箱\\开宝箱.bmp"), rc)) {
|
|
|
+ if (GAssist::GetImgMatchtemplate(hWnd, GAssist::g_strAppdir + _T("img\\开宝箱\\开宝箱.bmp"), rc)) {
|
|
|
|
|
|
- GAssist::MouseClick(hProcessMainWnd, CPoint((rc.right + rc.left) / 2 + rand() % 2, (rc.top + rc.bottom) / 2 + rand() % 2));
|
|
|
+ GAssist::MouseClick(hWnd, CPoint((rc.right + rc.left) / 2 + rand() % 2, (rc.top + rc.bottom) / 2 + rand() % 2));
|
|
|
Sleep(rand() % 200 + 190);
|
|
|
// 然后移动出去;
|
|
|
//GAssist::MouseMove(hProcessMainWnd, CPoint(rc.top - 50 - rand()%20, rc.left - 50 - rand() % 20));
|
|
@@ -1776,8 +1795,10 @@ void CGameAssistDlg::OnBnClickedButton6() // 职业
|
|
|
{
|
|
|
CRect rc;
|
|
|
DebugLog(_T("进入孤独洞========="));
|
|
|
- HWND hProWnd = GAssist::GetProcessMainWnd();
|
|
|
- if (!FindNPC(hProWnd, "职业训导大师"))
|
|
|
+ HWND hWnd = GetCurGameWnd();// GAssist::GetProcessMainWnd();
|
|
|
+ if (hWnd == NULL)
|
|
|
+ return;
|
|
|
+ if (!FindNPC(hWnd, "职业训导大师"))
|
|
|
return;
|
|
|
|
|
|
// 选择进入;
|
|
@@ -1785,24 +1806,24 @@ void CGameAssistDlg::OnBnClickedButton6() // 职业
|
|
|
int trySize = 20;
|
|
|
|
|
|
// 我要挑战他们;
|
|
|
- while (!(bMatch = ClickDlgSetup(hProWnd, _T("img\\zyxdds-wytztm.bmp")))) {
|
|
|
+ while (!(bMatch = ClickDlgSetup(hWnd, _T("img\\zyxdds-wytztm.bmp")))) {
|
|
|
SRAND(1200, 2200);
|
|
|
if (!trySize--) break;
|
|
|
}
|
|
|
|
|
|
// 准备好了
|
|
|
- if (ClickDlgSetup(hProWnd, _T("img\\zyxdds-zbhl.bmp")))
|
|
|
+ if (ClickDlgSetup(hWnd, _T("img\\zyxdds-zbhl.bmp")))
|
|
|
{
|
|
|
// 地图切换,等出图;
|
|
|
SRAND(2000, 2500);
|
|
|
- if (IsOnMap(hProWnd, _T("img\\gdd\\name.bmp")))
|
|
|
+ if (IsOnMap(hWnd, _T("img\\gdd\\name.bmp")))
|
|
|
{
|
|
|
DebugLog(_T("进入孤独洞"));
|
|
|
char szName[10][32] = { "术士独侠","道士独侠","武师独侠","浪子独侠","剑客独侠","弓手独侠","禁卫独侠","墨者独侠","巫煞独侠","魂武独侠" };
|
|
|
- BattleYS(hProWnd, "缚神诀");
|
|
|
+ BattleYS(hWnd, "缚神诀");
|
|
|
for (int i = 0; i < 10; i++)
|
|
|
{
|
|
|
- BattleOthers(hProWnd, szName[i], "缚神诀");
|
|
|
+ BattleOthers(hWnd, szName[i], "缚神诀");
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -1820,13 +1841,14 @@ void CGameAssistDlg::OnBnClickedButton8() // 职业
|
|
|
// TODO: 在此添加控件通知处理程序代码
|
|
|
CRect rc;
|
|
|
DebugLog(_T("进入孤独洞========="));
|
|
|
- HWND hProWnd = GAssist::GetProcessMainWnd();
|
|
|
-
|
|
|
+ HWND hWnd = GetCurGameWnd();// GAssist::GetProcessMainWnd();
|
|
|
+ if (hWnd == NULL)
|
|
|
+ return;
|
|
|
DebugLog(_T("进入孤独洞"));
|
|
|
char szName[10][32] = { "术士独侠","道士独侠","武师独侠","浪子独侠","剑客独侠","弓手独侠","禁卫独侠","墨者独侠","巫煞独侠","魂武独侠" };
|
|
|
for (int i = 0; i < 10; i++)
|
|
|
{
|
|
|
- BattleOthers(hProWnd, szName[i], "缚神诀");
|
|
|
+ BattleOthers(hWnd, szName[i], "缚神诀");
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -1834,7 +1856,9 @@ void CGameAssistDlg::OnBnClickedButton8() // 职业
|
|
|
void CGameAssistDlg::OnBnClickedButton9() // 移动到目标点
|
|
|
{
|
|
|
// TODO: 在此添加控件通知处理程序代码
|
|
|
- HWND hWnd = GAssist::GetProcessMainWnd();
|
|
|
+ HWND hWnd = GetCurGameWnd();// GAssist::GetProcessMainWnd();
|
|
|
+ if (hWnd == NULL)
|
|
|
+ return;
|
|
|
UpdateData();
|
|
|
INT nX = GetDlgItemInt(IDC_EDIT1);
|
|
|
INT nY = GetDlgItemInt(IDC_EDIT2);
|
|
@@ -1851,7 +1875,9 @@ void CGameAssistDlg::OnBnClickedButton10()
|
|
|
{
|
|
|
// TODO: 在此添加控件通知处理程序代码
|
|
|
CRect rc;
|
|
|
- HWND hProWnd = GAssist::GetProcessMainWnd();
|
|
|
+ HWND hWnd = GetCurGameWnd();// GAssist::GetProcessMainWnd();
|
|
|
+ if (hWnd == NULL)
|
|
|
+ return;
|
|
|
int nZJType = 0;
|
|
|
if (m_cbZJ.GetCheck() || m_cbZJ2.GetCheck())
|
|
|
{
|
|
@@ -1863,7 +1889,7 @@ void CGameAssistDlg::OnBnClickedButton10()
|
|
|
|
|
|
UpdateData(FALSE);
|
|
|
DebugLog(_T("start.打镜妖 %d----------------------------"));
|
|
|
- BattleJY(hProWnd, m_cbSummoner.GetCheck(), nZJType, m_cbAggressiveSkill.GetCheck());
|
|
|
+ BattleJY(hWnd, m_cbSummoner.GetCheck(), nZJType, m_cbAggressiveSkill.GetCheck());
|
|
|
DebugLog(_T("end.打镜妖 %d----------------------------\n"));
|
|
|
|
|
|
}
|
|
@@ -1872,31 +1898,29 @@ void CGameAssistDlg::OnBnClickedButton10()
|
|
|
void CGameAssistDlg::OnBnClickedButton11() // 刷新;
|
|
|
{
|
|
|
// TODO: 在此添加控件通知处理程序代码
|
|
|
- InitZYNPC();
|
|
|
- HWND hWnd = GAssist::GetProcessMainWnd();
|
|
|
- // "职业训导大师",
|
|
|
- char szName[11][32] = {"医师独侠", "术士独侠","道士独侠","武师独侠","浪子独侠",
|
|
|
- "剑客独侠","弓手独侠","禁卫独侠","墨者独侠","巫煞独侠","魂武独侠" };
|
|
|
+#if 1
|
|
|
+ std::vector<DWORD> vtPID;
|
|
|
+ GAssist::GetAllProcessId(vtPID);
|
|
|
+ GAssist::GetAllProcessMainWnd(vtPID, GAssist::g_vtGameWndInfo);
|
|
|
+#endif
|
|
|
|
|
|
- for ( int i = 0; i < 11; i++ )
|
|
|
+ int nIndx = 0;
|
|
|
+ m_cbGameRole.ResetContent();
|
|
|
+ for (std::vector<GAssist::GameWndInfo>::iterator it = GAssist::g_vtGameWndInfo.begin(); it != GAssist::g_vtGameWndInfo.end(); it++)
|
|
|
{
|
|
|
- auto it = g_mapZYNPC.find(szName[i]);
|
|
|
- if (it != g_mapZYNPC.end())
|
|
|
- {
|
|
|
- FindNPC(hWnd, it->second, it->first.c_str());
|
|
|
- if (_tcsicmp("职业训导大师", it->first.c_str()))
|
|
|
- Sleep(6000);
|
|
|
- Sleep(500);
|
|
|
- GAssist::MouseRClick(hWnd);
|
|
|
- }
|
|
|
+ nIndx = m_cbGameRole.AddString(it->strGameRoleName.c_str());
|
|
|
+ m_cbGameRole.SetItemDataPtr(nIndx, it->hWnd);
|
|
|
}
|
|
|
+ m_cbGameRole.SetCurSel(0);
|
|
|
}
|
|
|
|
|
|
|
|
|
void CGameAssistDlg::OnBnClickedButton12()
|
|
|
{
|
|
|
// TODO: 在此添加控件通知处理程序代码
|
|
|
- HWND hWnd = GAssist::GetProcessMainWnd();
|
|
|
+ HWND hWnd = GetCurGameWnd();// GAssist::GetProcessMainWnd();
|
|
|
+ if (hWnd == NULL)
|
|
|
+ return;
|
|
|
// 将鼠标移动到指定位置;
|
|
|
POINT ptDest = { 625, 28 }; // 左上角;
|
|
|
|
|
@@ -1919,7 +1943,9 @@ void CGameAssistDlg::OnBnClickedButton12()
|
|
|
|
|
|
void CGameAssistDlg::OnBnClickedButton13() // 地图找挑战NPC;
|
|
|
{
|
|
|
- HWND hWnd = GAssist::GetProcessMainWnd();
|
|
|
+ HWND hWnd = GetCurGameWnd();// GAssist::GetProcessMainWnd();
|
|
|
+ if (hWnd == NULL)
|
|
|
+ return;
|
|
|
int nCurSel = m_cbZYNPC.GetCurSel();
|
|
|
if (nCurSel == CB_ERR)
|
|
|
return;
|