TC官方合作论坛

 找回密码
 立即注册
查看: 235|回复: 1
打印 上一主题 下一主题

[问题] 来个大腿帮忙改改呗。

[复制链接]
跳转到指定楼层
楼主
发表于 2015-4-10 23:13:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 qq411605443 于 2015-4-10 23:14 编辑

小白跟着官方教程做了一个前台的,后来想改成后台多开真是无从下手。
于是跟一个人要了一个源码,照葫芦画瓢的将自己想要的东西塞在里面。
最后果不其然的失败了,求一个大腿帮忙看看。
  1. //我的思路流程
  2. //鼠标放在游戏窗口,按F1,这个窗口进入后台托管状态.
  3. //托管状态:开始循环后台找图,找到开始则点击开始,找到筹码则点击筹码,找到坐标的颜色符合则进入牌力判定
  4. //牌力判定:根据找图跟取色判定牌力分,牌力分大于19或者等于2,则提示好牌,播放提示音.终止此窗口托管状态.
  5. //否则寻找过牌与放弃按钮,找到则点击,优先点击过牌,没有过牌点击放弃.
  6. //通过F1进入托管状态的窗口一直循环,直到提示好牌终止.

  7. 空间 九九托管
  8. sz=数组[7],jz=数组[7],对象=数组[7]

  9. 功能 启动()//开启
  10.     jb=窗口.鼠标所在窗口句柄(),i=0
  11.     if(窗口.类名(jb)!="AfxWnd70u")
  12.         返回 假
  13.     endif
  14.     辅助.等待(100)
  15.     for(i=0;i<6;i++)
  16.         如果(jb==sz[i])
  17.             跳出
  18.         否则
  19.             如果(sz[i]==null)
  20.                 对象[i]=com("dm.dmsoft")
  21.                 jz[i]=线程.扩展开启("九九托管.打牌",i,"九九托管.解绑",i)
  22.                 sz[i]=jb  
  23.                 跳出
  24.             如果结束
  25.         如果结束
  26.     endfor
  27. 功能结束

  28. 功能 停止()//关闭
  29.     jb=窗口.鼠标所在窗口句柄()
  30.     for(i=0;i<6;i++)
  31.         如果(jb==sz[i])
  32.             a=0
  33.             个数=列表框.得到个数("列表框0")
  34.             循环(a<个数)
  35.                 if(jb==列表框.获得文本("列表框0",a))
  36.                     列表框.删除文本("列表框0",a)
  37.                 endif
  38.                 a=a+1            
  39.             循环结束
  40.             线程.关闭(jz[i])
  41.             辅助.蜂鸣(1000,200)  
  42.             sz[i]=null
  43.             jz[i]=0
  44.             辅助.等待(1000)
  45.             跳出
  46.         如果结束
  47.     endfor
  48. 功能结束

  49. 功能 解绑(i)
  50.     dm=对象[i]
  51.     dm.UnBindWindow()
  52. 功能结束

  53. 功能 打牌(i)
  54.     dm=对象[i],x,y
  55.     hwnd=窗口.鼠标所在窗口句柄()
  56.     if(dm.BindWindow(hwnd,"gdi","windows3","normal",0)==0)
  57.         辅助.消息框("绑定失败")
  58.         返回 真
  59.     endif
  60.     列表框.插入文本("列表框0",hwnd,0)
  61.     辅助.蜂鸣(1000,200)
  62.     dm.SetShowErrorMsg(0)
  63.     系统.设置路径(系统.获取程序路径()&"\\pic")
  64.     循环(真)
  65.         变量 发牌完毕,同花分,一号牌,二号牌
  66.         dm.MoveTo(5,5)
  67.         dm.LeftClick()
  68.         dm.FindPic(533,462,933,697,"rc:开始.bmp|rc:筹码.bmp","000000",0.9,0,x,y)
  69.         如果(x>0)
  70.             dm.MoveTo(x,y)
  71.             辅助.等待(5)
  72.             dm.LeftClick()
  73.             dm.LeftClick()
  74.             编辑框.设置文本("编辑框0","等待发牌")
  75.         如果结束
  76.         牌框=dm.GetColor(538,452)
  77.         如果(牌框==#000000)
  78.             辅助.等待(50)
  79.             dm.FindPic(470,438,552,494,"rc:同花条.bmp","000000",0.9,0,x,y)
  80.             如果(x> 0)
  81.                 同花分=9
  82.             如果结束
  83.             牌力0=dm.GetColor(501,446)
  84.             如果(牌力0==#43EE11)
  85.                 一号牌=10
  86.             如果结束
  87.             如果(牌力0==#00A2E8)
  88.                 一号牌=0
  89.             如果结束
  90.             如果(牌力0==#FF7F27)
  91.                 一号牌=1
  92.             如果结束
  93.             如果(牌力0==#A349A4)
  94.                 一号牌=11
  95.             如果结束
  96.             牌力1=dm.GetColor(544,448)
  97.             如果(牌力1==#43EE11)
  98.                 一号牌=10
  99.             如果结束
  100.             如果(牌力1==#00A2E8)
  101.                 一号牌=0
  102.             如果结束
  103.             如果(牌力1==#FF7F27)
  104.                 一号牌=1
  105.             如果结束
  106.             如果(牌力1==#A349A4)
  107.                 一号牌=11
  108.             如果结束
  109.             牌分=同花分+一号牌+二号牌
  110.             编辑框.设置文本("编辑框1",牌分)
  111.             如果(牌分>19||牌分==2)
  112.                 ID = 辅助.播放("rc:BackGround.wav")
  113.                
  114.                 辅助.消息框("好牌!")
  115.                
  116.                 辅助.停止播放(ID)
  117.                 跳出           //这里应该怎么停止循环操作??????
  118.             否则
  119.                 dm.FindPic(605,633,679,666,"rc:弃牌.bmp","000000",0.9,0,x,y)
  120.                 如果(x> 0)
  121.                     dm.FindPic(333,633,412,666,"rc:让牌.bmp","000000",0.9,0,x,y)                  
  122.                     dm.MoveTo(x,y)
  123.                     辅助.等待(5)
  124.                     dm.LeftClick()
  125.                     dm.LeftClick()
  126.                     编辑框.设置文本("编辑框0","已经让牌/弃牌")     //如果不可以让牌,这里点击弃牌.
  127.                     
  128.                 否则
  129.                     辅助.消息框("找不到弃牌")
  130.                 如果结束
  131.             如果结束
  132.         如果结束
  133.         
  134.     循环结束
  135.    
  136. 功能结束

  137. 功能 初始化()
  138.     是否注册=辅助.是否注册("dm.dmsoft")
  139.     如果(!是否注册)
  140.         是否成功=辅助.注册插件(系统.获取程序路径()&"\\pic\\dm.dll",真)
  141.         
  142.         如果(是否成功)
  143.             
  144.             
  145.         否则
  146.             
  147.             辅助.消息框("插件注册失败","提示")
  148.             
  149.         如果结束
  150.     else
  151.         dm=com("dm.dmsoft")
  152.         if(dm.Ver()!="3.1233")
  153.             辅助.注册插件(系统.获取程序路径()&"\\pic\\dm.dll",假)
  154.             辅助.消息框("插件更新,请重新打开软件")
  155.         endif
  156.     如果结束
  157.     线程.开启("九九托管.检测","")
  158. 功能结束

  159. 功能 检测()
  160.     dm=com("dm.dmsoft")
  161.     循环(真)
  162.         ii=0
  163.         个数=列表框.得到个数("列表框0")   
  164.         循环(ii<个数)
  165.             if(!窗口.是否存在(列表框.获得文本("列表框0",ii)))
  166.                 jb=列表框.获得文本("列表框0",ii)
  167.                 for(i=0;i<7;i++)
  168.                     如果(jb==sz[i])
  169.                         a=0
  170.                         个数=列表框.得到个数("列表框0")
  171.                         循环(a<个数)
  172.                             if(jb==列表框.获得文本("列表框0",a))
  173.                                 列表框.删除文本("列表框0",a)
  174.                             endif
  175.                             a=a+1            
  176.                         循环结束
  177.                         线程.关闭(jz[i])
  178.                         辅助.蜂鸣(1000,200)  
  179.                         sz[i]=null
  180.                         jz[i]=0
  181.                         辅助.等待(1000)
  182.                         goto 结束
  183.                     如果结束
  184.                 endfor
  185.             endif
  186.             ii=ii+1            
  187.         循环结束
  188. 结束:
  189.         辅助.等待(1000)
  190.         
  191.     循环结束
  192. 功能结束

  193. 功能 热键0_热键()
  194.     线程.开启("九九托管.启动","")
  195. 功能结束

  196. 功能 热键1_热键()
  197.     线程.开启("九九托管.停止","")
  198. 功能结束

  199. 空间结束
复制代码

回复

使用道具 举报

沙发
 楼主| 发表于 2015-4-11 00:28:01 | 只看该作者
而且自动没运作,手动鼠标点击还不好使了。。。 无语
回复 支持 反对

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18043773号

GMT+8, 2025-9-23 06:44 , Processed in 0.131211 second(s), 23 queries .

Powered by 海安天坑软件科技有限公司

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表