TC官方合作论坛

标题: 求“5开自动打怪回血移动”的结构框架 [打印本页]

作者: wudongdonghehe    时间: 2012-11-23 18:55
标题: 求“5开自动打怪回血移动”的结构框架
一个多月以前,写了一个梦幻西游5开打怪的脚本,自动移动,自动打怪。
现在想写一个梦幻西游5开自动捉鬼的脚本,就在原有的基础上加了一个自动回血回蓝的功能。但是结构总是处理不好。
单开脚本或许很容易,但是多开需要分别激活窗口,很麻烦。有没有大神曾经写过这样的脚本,指点一下多开2D游戏自动打怪的框架。

作者: fire    时间: 2012-11-23 20:02
说些题外话:
封装好的一些功能是没有生命的,只有调用它的代码才是忙碌的程序;
下面代码。楼主参考一下~~~窗口句柄不同,就可以多开撒

  1. 空间 测试
  2. //定义默认空间

  3. 功能 逻辑型 功能1(整型 窗口句柄)
  4.     //例如:这个是要找图的代码
  5.     整型 x,y
  6.     if(窗口.找图(窗口句柄,0,0,250,360,"rc:1.bmp|rc:2.bmp",#101010,1.0,0,x,y)>0)
  7.         //此处略去N个字...(*^__^*) 嘻嘻
  8.     endif
  9.     返回 真
  10. 功能结束

  11. 功能 逻辑型 开始_点击()
  12.     //这里添加你要执行的代码
  13.     测试.功能1(10086)    //假设这个的窗口句柄是10086,具体的获取方式很多
  14.     返回 真
  15.     //函数返回语句
  16. 功能结束

  17. 功能 逻辑型 退出_点击()
  18.     //这里添加你要执行的代码
  19.     辅助.退出()
  20.     返回 真
  21.     //函数返回语句
  22. 功能结束

  23. 空间结束
  24. //空间结束语句
复制代码

作者: pixiangyun    时间: 2012-11-24 00:50
下面是任意线程多开代码,你看看,相信你的问题可以迎刃而解
  1. #import "dm.dmsoft" dm
  2. 空间 多窗口点击
  3. int 线程1,线程2,线程3
  4. 功能 逻辑型 任务()
  5. help.messagebox("3s内移动到窗口")
  6. help.sleep(3000)
  7. 整型 窗口句柄
  8. 窗口句柄=窗口.鼠标所在窗口句柄()
  9. 整型 判断
  10. 判断=dm.BindWindow(窗口句柄,"dx","windows3","dx",0)
  11. while(1==1)
  12.     help.sleep(200)
  13.     dm.MoveTo(231,55)
  14.     判断=dm.LeftClick()
  15. endwhile
  16. 判断=dm.UnBindWindow()
  17. 返回 真
  18. 功能结束
  19.   
  20. 功能 逻辑型 开始_点击()
  21. 线程1=线程.开启("多窗口点击.任务","")
  22. 线程2=线程.开启("多窗口点击.任务","")
  23. 线程3=线程.开启("多窗口点击.任务","")
  24. 返回 真
  25. 功能结束
  26. 功能 逻辑型 退出_点击()
  27.     线程.关闭(线程1)
  28.      线程.关闭(线程2)
  29.       线程.关闭(线程3)
  30. help.sleep(100)
  31. 辅助.退出()   
  32. 返回 真
  33. 功能结束
  34.   
  35. 空间结束
复制代码

作者: wudongdonghehe    时间: 2012-11-24 10:06
回复 2楼fire的帖子

你这只是单开啊,如果可以,你写几句多开的结构我看看。
作者: wudongdonghehe    时间: 2012-11-24 10:33
回复 3楼pixiangyun的帖子

如何实现一个线程控制一个窗口句柄,也就是5个线程分别控制5个窗口句柄。
作者: pixiangyun    时间: 2012-11-24 10:48
回复 5楼wudongdonghehe的帖子

我这个是三个线程控制三个窗口的。开启一个线程执行一个窗口,三窗口同时操作的
作者: pixiangyun    时间: 2012-11-24 10:50
五个窗口分别执行的
  1. #import "dm.dmsoft" dm
  2. 空间 多窗口点击
  3. int 线程1,线程2,线程3,线程4,线程5
  4. 功能 逻辑型 任务()
  5. help.messagebox("3s内移动到窗口")
  6. help.sleep(3000)
  7. 整型 窗口句柄
  8. 窗口句柄=窗口.鼠标所在窗口句柄()
  9. 整型 判断
  10. 判断=dm.BindWindow(窗口句柄,"dx","windows3","dx",0)
  11. while(1==1)
  12.     help.sleep(200)
  13.     dm.MoveTo(231,55)
  14.     判断=dm.LeftClick()
  15. endwhile
  16. 判断=dm.UnBindWindow()
  17. 返回 真
  18. 功能结束
  19.   
  20. 功能 逻辑型 开始_点击()
  21. 线程1=线程.开启("多窗口点击.任务","")
  22. 线程2=线程.开启("多窗口点击.任务","")
  23. 线程3=线程.开启("多窗口点击.任务","")
  24. 线程4=线程.开启("多窗口点击.任务","")
  25. 线程5=线程.开启("多窗口点击.任务","")
  26. 返回 真
  27. 功能结束
  28. 功能 逻辑型 退出_点击()
  29.     线程.关闭(线程1)
  30.      线程.关闭(线程2)
  31.       线程.关闭(线程3)
  32.       线程.关闭(线程4)
  33.       线程.关闭(线程5)
  34. help.sleep(100)
  35. 辅助.退出()   
  36. 返回 真
  37. 功能结束
  38.   
  39. 空间结束
  40. //空间结束语句
复制代码

作者: fire    时间: 2012-11-24 11:17
  1. 空间 测试
  2. //定义默认空间

  3. 功能 逻辑型 功能1(整型 窗口句柄)
  4.     //例如:这个是要找图的代码
  5.     整型 x,y
  6.     if(窗口.找图(窗口句柄,0,0,250,360,"rc:1.bmp|rc:2.bmp",#101010,1.0,0,x,y)>0)
  7.         //此处略去N个字...(*^__^*) 嘻嘻
  8.     endif
  9.     返回 真
  10. 功能结束

  11. 功能 逻辑型 开始_点击()
  12.     //这里添加你要执行的代码
  13.     测试.功能1(10086)    //假设这个的窗口句柄是10086,具体的获取方式很多
  14.     测试.功能1(10010)    //窗口10010
  15.         测试.功能1(13800)    //窗口12800
  16. //☆在这里只需要调用即可,多开可以根据他们的窗口句柄来用
  17.     返回 真
  18.     //函数返回语句
  19. 功能结束

  20. 功能 逻辑型 退出_点击()
  21.     //这里添加你要执行的代码
  22.     辅助.退出()
  23.     返回 真
  24.     //函数返回语句
  25. 功能结束

  26. 空间结束
  27. //空间结束语句
复制代码





欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1