TC官方合作论坛
标题:
求助,关于后台多开出现死循环,如何解绑不出现异常
[打印本页]
作者:
wuyunlong516
时间:
2014-12-1 04:48
标题:
求助,关于后台多开出现死循环,如何解绑不出现异常
本帖最后由 wuyunlong516 于 2014-12-1 20:26 编辑
从新发帖重要部分的源码,整个源码可以通过编译,主要是
打怪操作
是个
无限循环
,当按下快捷退出键的时候出现
异常关闭窗口
,如果不是无限循环,快捷键结束可以通过,不会出现异常,跪求导师,大神,高手,同学们来帮解答一下,如果出现这个无限循环的情况,退出应该是怎么写呀?
空间
QQ空间
ts=
数组
[0]
技能组合=
数组
[0]
功能
主线程()
----------------------------------------获取窗口功能
----------------------------------------------
变量
返回值,数组大小,i
句柄数组=数组[1]
返回值=系统.枚举("游戏窗口名",0)
如果
(返回值=="")
辅助.消息框(
"没有找到游戏窗口"
)
返回 假
如果结束
字符串.分割(返回值,
"|"
,句柄数组)
数组空间.大小(句柄数组,数组大小)
遍历
(i=0;i<数组大小;i++)
ts=数组空间.重定义(ts,
真
,i+1)
参数=句柄数组&
","
&i
线程.开启(
"QQ空间.子线程"
,参数,
"QQ空间.解绑"
,i)
辅助.等待(1000)
遍历结束
功能结束
功能
子线程(参数)
--------------------------------------绑定每个窗口并执行功能
----------------------------------------------
i,窗口句柄,绑定返回值
参数数组=数组[1]
字符串.分割(参数,",",参数数组)
窗口句柄=参数数组[0]
i=参数数组[1]
ts=
com
(
"ts.tssoft"
)
绑定返回值=ts.BindWindow(窗口句柄,
"gdi2","dx","dx"
,0)
辅助.等待(1000)
如果
(绑定返回值==0)
help.messagebox("绑定失败")
返回 假
如果结束
ts.SetPath(辅助.获取资源路径("rc:"))
//下面进行操作
QQ空间.打怪操作(i)
功能结束
功能
打怪操作(i)
----------------------------------重点在这里,无限循环打怪功能
---------------------------------------------
延时=辅助.随机数(100,1000)
//设置一个随机延时
循环
(
真
)
//无限循环开始
ts.KeyPress(9)
//键盘按下TAB选怪
辅助.等待(延时)
小怪血条=ts.GetColor(521,36)
//判断小怪是否满血,是就执行,否从新选怪
如果
(小怪血条=="961818")
循环
(
真
)
//按技能操作
ts.KeyPress(49)
//技能键1
辅助.等待(延时)
ts.KeyPress(50)
//技能键2
辅助.等待(延时)
是否死亡=ts.GetColor(411,36)
//判断小怪是否死亡,是就跳出,否继续按技能
如果
(是否死亡=="ae8308")
辅助.等待(延时)
跳出
否则
继续
如果结束
//判断小怪死亡结束
循环结束
//循环按技能结束
如果结束
//判断小怪满血结束
循环结束
//无限循环,小怪杀完继续选,继续杀.
功能结束
功能
开始游戏_热键()
-------------------------------------开始热键
----------------------------------------------
线程.开启("QQ空间.主线程","")
功能结束
功能
结束游戏_热键()
-------------------------------------结束热键
----------------------------------------------
辅助.退出()
//如果在结束的时候,加入线程.关闭(线程句柄),和ts
.UnBindWindow()不行的哈,还是要卡死
功能结束
功能
解绑(i)
---------------------------------如果没有无限循环,执行完所有功能自动进行解绑
----------------------------------------------
ts
.UnBindWindow()
功能结束
功能
初始化()
----------------------------------------------初始化注册插件
----------------------------------------------
辅助.注册插件(
"rc:\\TSPlug.dll"
,
真
)
功能结束
空间结束
作者:
唯一小哥
时间:
2014-12-1 08:52
线程句柄=线程.开启("空间名.主线程","")
//退出的时候先关闭线程...
线程.关闭("线程句柄")
希望能帮到你
作者:
wuyunlong516
时间:
2014-12-1 09:08
谢谢,试过不行
作者:
wuyunlong516
时间:
2014-12-1 09:09
谢谢,试过不行
作者:
调皮的小五郎
时间:
2014-12-1 10:36
除了默默点个赞,我真的不知道说啥好了
作者:
yuduo1983
时间:
2014-12-1 10:42
本帖最后由 yuduo1983 于 2014-12-1 10:55 编辑
写的单窗口,个人想法,看看行不行
功能 打怪操作()
//代码
功能结束
功能 主线程()
打怪=单选框.获得状态("单选框2")
if(打怪)
打怪操作()
endif
功能结束
功能 解绑()
ts.UnBindWindow()
功能结束
功能 开始游戏_热键()
线程.开启("空间名.主线程","") //用的是线程启动,
功能结束
功能 结束游戏_热键()
空间名.解绑()
辅助.退出()
功能结束
作者:
T星人
时间:
2014-12-1 16:28
小白 飘过~~~
欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/)
Powered by Discuz! X3.1