TC官方合作论坛

标题: 求助我写了个很简单的老是开不起线程 [打印本页]

作者: lixuefeng1008    时间: 2012-5-3 23:02
标题: 求助我写了个很简单的老是开不起线程
空间 大唐无双
整型 线程句柄
整型 x,y
整型 窗口句柄
功能 逻辑型 打怪()
逻辑型 是否找到
线程句柄=线程.开启("大唐无双.打怪()")
整型 窗口句柄=窗口.找到窗口("大唐无双公测 (1.3.183:180436  1.0.122:180182)")
窗口.激活(窗口句柄)
辅助.等待(200)
返回 真
//函数返回语句
功能结束
循环 真
键盘.按下(17)
键盘.弹起(9)
辅助.等待(889)
是否找到=窗口.区域找色(窗口句柄,505,128,667,129,#0000BD,1,x,y)
循环
键盘.按下(49)
辅助.等待(200)
键盘.按下(50)
辅助.等待(200)
//打怪过程中,取自己生命值判断,是否需要给自己加血
生命值=窗口.区域找色(窗口句柄,309,127,471,126,#0000BD,1,x,y)
辅助.等待(200)
//判断血量是否低于50
如果(!生命值)
键盘.按下(56)     
辅助.等待(200)
如果结束
//打怪过程中,取自己蓝值判断,是否需要给自己蓝 0%
蓝值=窗口.区域找色(窗口句柄,311,145,472,143,# 9C3C00,1,x,y)
//判断蓝值是否低于150
如果(!蓝值)
键盘.按下(57)     
辅助.等待(200)
如果结束
功能 逻辑型 退出_点击()
线程.关闭(线程句柄)
返回 真
功能结束
辅助.退出()
返回 真
//函数返回语句
功能结束
空间结束
//空间结束语句




提示第7行  ( ("大唐无双.打怪()"))是错误的是参数列表?怎么回事?老是开不起线程
望高手来指点感激不尽,处男作,最新的TC版本

作者: lixuefeng1008    时间: 2012-5-3 23:04
帮帮看看还有哪里错了免得我还来发帖啊。。。
作者: cylhb    时间: 2012-5-3 23:17
去掉 ()...
("大唐无双.打怪")
作者: 夏末    时间: 2012-5-3 23:45
  1. 线程句柄=线程.开启("大唐无双.打怪()")
复制代码

不要这行









  1. 大唐无双.打怪()
复制代码


把这行写到 一个按钮事件里面  或热键事件里面
才可以 打开线程



还有楼主 你怎么 编译通过的  复制你代码 编译 出了一大堆错误


作者: lixuefeng1008    时间: 2012-5-3 23:52
我现在也很头疼啊,这么简单的都出错???
作者: z0230226    时间: 2012-5-4 00:01
你这个没有热键开启,把线程开启写线程自己里面了当然开不了
作者: lixuefeng1008    时间: 2012-5-4 00:06
空间 大唐无双
整型 线程句柄
整型 x,y
整型 窗口句柄
功能 逻辑型 打怪()
逻辑型 是否找到

窗口句柄=窗口.找到窗口("大唐无双公测 (1.3.183:180436  1.0.122:180182)")
窗口.激活(窗口句柄)
如果(窗口句柄==0)
辅助.消息框("请确保已开启游戏!")
如果结束
窗口.设置位置(窗口句柄,0,0)
辅助.等待(200)



是否找到=窗口.区域找色(窗口句柄,505,128,667,129,#0000BD,1,x,y)

循环 (真)

键盘.按下(17)
键盘.弹起(9)
辅助.等待(889)
如果(!是否找到)

键盘.按键(49,1)
辅助.等待(200)
键盘.按键(50,1)
辅助.等待(200)


如果结束

返回 真

辅助.退出()

返回 真





空间结束 就是最后这个空间结束提示说没定义的字符?怎么办啊
作者: lixuefeng1008    时间: 2012-5-4 00:26
这个我仿照那个的自动打怪,写了个点那个开始和昨天一样美反应?
空间 大唐无双自动打怪





功能 逻辑型 打怪线程()

整型 x


整型 y


整型 窗口句柄


逻辑型 取怪颜色


逻辑型 取怪生命值


逻辑型 生命值


逻辑型 蓝值




//获得界面文本框的值


窗口句柄=窗口.找到窗口("大唐无双公测 (1.3.183:180436  1.0.122:180182)")


//查找游戏窗口是否存在





//根据返回的值判断为窗口是否存在,如果返回值为0,证明没有找到窗口,否则找到窗口


如果(窗口句柄==0)


辅助.消息框("没有找到游戏窗口")


否则


窗口.设置位置(窗口句柄,0,0)





辅助.等待(1000)


//这里写个while死循环,大家都知道,自动打怪是不停的打的,而不是打一次,


//所以我这里写个while,不停的重复执行打怪功能


//循环(true)


//tab键的按键码是9,这里我们执行tab操作,就是锁定怪,大部分游戏都是通过tab实现的


//但是你不同游戏的锁定怪,你这里可以选择不同的键来锁定。


循环(true)


键盘.按键(9,1)


辅助.等待(1000)


//这里通过区域找色,根据延时判断是否锁定了怪,如果锁定了,就会进下面的while循环


//执行打怪操作,反正继续执行外面的while循环,继续执行锁定怪的操作.


取怪颜色=图像.区域找色(10,10,500,600,0,#1E3C04,x,y)

//如果返回true,证明锁定了怪,那就执行下面的打怪功能


循环(取怪颜色)


//2的键码是50,这里按下2键。也就是功能键技能2


键盘.按键(50,1)


//按键完成延时,这个是延时1秒执行下面的操作


辅助.等待(1000)


//1的键码是49,这里按下1键.也就是功能键技能1


键盘.按键(49,1)


辅助.等待(1000)


键盘.按键(49,1)


辅助.等待(1000)


//这个是取生命值的颜色,根据颜色判断。当生命值到这个坐标点,延时值变了,


//证明掉血掉到这里了,要执行补血功能了。如果返回的是true,证明血没有掉


生命值=图像.区域找色(10,10,500,600,0,#1E3C04,x,y)

如果(!生命值)


//6的键码是54,这里按下6键.也就是功能键补血的


键盘.按键(54,1)


辅助.等待(1000)


如果结束


//这个判断和上面取生命值一样的,这个是取蓝值


蓝值=图像.区域找色(10,10,500,600,0,#1E3C04,x,y)

如果(!蓝值)


//7的键码是55,这里按下7键.也就是功能键补蓝的


键盘.按键(55,1)


辅助.等待(1000)


如果结束


//这个时候取怪的颜色,是为了怪是否死亡,如果没有死,继续执行while循环打怪


//如果死了,停止这个while循环,跳到外面的while循环,再锁定怪。


取怪颜色=图像.区域找色(10,10,500,600,0,#1E3C04,x,y)

循环结束


循环结束


如果结束


返回 真




功能结束
















功能 逻辑型 退出_点击()


辅助.退出()


返回 真

功能结束







功能 逻辑型 开始_点击()
//这里添加你要执行的代码

返回 真
功能结束

空间结束
作者: tyuyan    时间: 2012-5-4 09:11
我觉得说问题 。 自己写说自己的版本,, 因为TC是有些版本。 一些方法的参数改了。
线程句柄=线程.开启("大唐无双.打怪")  这里是2.1一下的写法
线程句柄=线程.开启("大唐无双.打怪","")  这里是3.0以上的写法

还有你要把线程放到开始里面去执行。
作者: 花开花落    时间: 2012-5-4 09:44
小三说的对。。
作者: 落叶归根    时间: 2012-5-4 10:42
楼楼上的正解
作者: 战斗之神    时间: 2012-5-4 10:58
   不要照搬别人的代码啊! 错在哪里都不找到。 还要其他人来找茬。。




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