TC官方合作论坛
标题:
来个大腿帮忙改改呗。
[打印本页]
作者:
qq411605443
时间:
2015-4-10 23:13
标题:
来个大腿帮忙改改呗。
本帖最后由 qq411605443 于 2015-4-10 23:14 编辑
小白跟着官方教程做了一个前台的,后来想改成后台多开真是无从下手。
于是跟一个人要了一个源码,照葫芦画瓢的将自己想要的东西塞在里面。
最后果不其然的失败了,求一个大腿帮忙看看。
//我的思路流程
//鼠标放在游戏窗口,按F1,这个窗口进入后台托管状态.
//托管状态:开始循环后台找图,找到开始则点击开始,找到筹码则点击筹码,找到坐标的颜色符合则进入牌力判定
//牌力判定:根据找图跟取色判定牌力分,牌力分大于19或者等于2,则提示好牌,播放提示音.终止此窗口托管状态.
//否则寻找过牌与放弃按钮,找到则点击,优先点击过牌,没有过牌点击放弃.
//通过F1进入托管状态的窗口一直循环,直到提示好牌终止.
空间 九九托管
sz=数组[7],jz=数组[7],对象=数组[7]
功能 启动()//开启
jb=窗口.鼠标所在窗口句柄(),i=0
if(窗口.类名(jb)!="AfxWnd70u")
返回 假
endif
辅助.等待(100)
for(i=0;i<6;i++)
如果(jb==sz[i])
跳出
否则
如果(sz[i]==null)
对象[i]=com("dm.dmsoft")
jz[i]=线程.扩展开启("九九托管.打牌",i,"九九托管.解绑",i)
sz[i]=jb
跳出
如果结束
如果结束
endfor
功能结束
功能 停止()//关闭
jb=窗口.鼠标所在窗口句柄()
for(i=0;i<6;i++)
如果(jb==sz[i])
a=0
个数=列表框.得到个数("列表框0")
循环(a<个数)
if(jb==列表框.获得文本("列表框0",a))
列表框.删除文本("列表框0",a)
endif
a=a+1
循环结束
线程.关闭(jz[i])
辅助.蜂鸣(1000,200)
sz[i]=null
jz[i]=0
辅助.等待(1000)
跳出
如果结束
endfor
功能结束
功能 解绑(i)
dm=对象[i]
dm.UnBindWindow()
功能结束
功能 打牌(i)
dm=对象[i],x,y
hwnd=窗口.鼠标所在窗口句柄()
if(dm.BindWindow(hwnd,"gdi","windows3","normal",0)==0)
辅助.消息框("绑定失败")
返回 真
endif
列表框.插入文本("列表框0",hwnd,0)
辅助.蜂鸣(1000,200)
dm.SetShowErrorMsg(0)
系统.设置路径(系统.获取程序路径()&"\\pic")
循环(真)
变量 发牌完毕,同花分,一号牌,二号牌
dm.MoveTo(5,5)
dm.LeftClick()
dm.FindPic(533,462,933,697,"rc:开始.bmp|rc:筹码.bmp","000000",0.9,0,x,y)
如果(x>0)
dm.MoveTo(x,y)
辅助.等待(5)
dm.LeftClick()
dm.LeftClick()
编辑框.设置文本("编辑框0","等待发牌")
如果结束
牌框=dm.GetColor(538,452)
如果(牌框==#000000)
辅助.等待(50)
dm.FindPic(470,438,552,494,"rc:同花条.bmp","000000",0.9,0,x,y)
如果(x> 0)
同花分=9
如果结束
牌力0=dm.GetColor(501,446)
如果(牌力0==#43EE11)
一号牌=10
如果结束
如果(牌力0==#00A2E8)
一号牌=0
如果结束
如果(牌力0==#FF7F27)
一号牌=1
如果结束
如果(牌力0==#A349A4)
一号牌=11
如果结束
牌力1=dm.GetColor(544,448)
如果(牌力1==#43EE11)
一号牌=10
如果结束
如果(牌力1==#00A2E8)
一号牌=0
如果结束
如果(牌力1==#FF7F27)
一号牌=1
如果结束
如果(牌力1==#A349A4)
一号牌=11
如果结束
牌分=同花分+一号牌+二号牌
编辑框.设置文本("编辑框1",牌分)
如果(牌分>19||牌分==2)
ID = 辅助.播放("rc:BackGround.wav")
辅助.消息框("好牌!")
辅助.停止播放(ID)
跳出 //这里应该怎么停止循环操作??????
否则
dm.FindPic(605,633,679,666,"rc:弃牌.bmp","000000",0.9,0,x,y)
如果(x> 0)
dm.FindPic(333,633,412,666,"rc:让牌.bmp","000000",0.9,0,x,y)
dm.MoveTo(x,y)
辅助.等待(5)
dm.LeftClick()
dm.LeftClick()
编辑框.设置文本("编辑框0","已经让牌/弃牌") //如果不可以让牌,这里点击弃牌.
否则
辅助.消息框("找不到弃牌")
如果结束
如果结束
如果结束
循环结束
功能结束
功能 初始化()
是否注册=辅助.是否注册("dm.dmsoft")
如果(!是否注册)
是否成功=辅助.注册插件(系统.获取程序路径()&"\\pic\\dm.dll",真)
如果(是否成功)
否则
辅助.消息框("插件注册失败","提示")
如果结束
else
dm=com("dm.dmsoft")
if(dm.Ver()!="3.1233")
辅助.注册插件(系统.获取程序路径()&"\\pic\\dm.dll",假)
辅助.消息框("插件更新,请重新打开软件")
endif
如果结束
线程.开启("九九托管.检测","")
功能结束
功能 检测()
dm=com("dm.dmsoft")
循环(真)
ii=0
个数=列表框.得到个数("列表框0")
循环(ii<个数)
if(!窗口.是否存在(列表框.获得文本("列表框0",ii)))
jb=列表框.获得文本("列表框0",ii)
for(i=0;i<7;i++)
如果(jb==sz[i])
a=0
个数=列表框.得到个数("列表框0")
循环(a<个数)
if(jb==列表框.获得文本("列表框0",a))
列表框.删除文本("列表框0",a)
endif
a=a+1
循环结束
线程.关闭(jz[i])
辅助.蜂鸣(1000,200)
sz[i]=null
jz[i]=0
辅助.等待(1000)
goto 结束
如果结束
endfor
endif
ii=ii+1
循环结束
结束:
辅助.等待(1000)
循环结束
功能结束
功能 热键0_热键()
线程.开启("九九托管.启动","")
功能结束
功能 热键1_热键()
线程.开启("九九托管.停止","")
功能结束
空间结束
复制代码
作者:
qq411605443
时间:
2015-4-11 00:28
而且自动没运作,手动鼠标点击还不好使了。。。 无语
欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/)
Powered by Discuz! X3.1