TC官方合作论坛

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

[问题] 来看看我这个大唐无双的自动打怪前台版有什么问题 我老感觉不对劲

[复制链接]
跳转到指定楼层
楼主
发表于 2011-7-31 19:55:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上加入TC

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

x
先上代码  `````


空间 我的程序
//这是一个以"我的程序"命名的空间,下面的语句都在这个空间里实现
整型 线程编号
//定义一个整型的全局变量来获取线程句柄
功能 整型 大唐自动打怪()
//自定义一个大唐自动打怪的方法
整型 窗口编号
//定义一个整型的全局变量来获取窗口句柄
整型 x坐标
整型 y坐标
逻辑型 蓝值
逻辑型 生命值
逻辑型 取怪颜色
字符型 接受游戏窗口名
窗口编号=窗口.找到窗口("大唐无双公测 (1.3.120:169363  1.0.91:169324)")
如果(窗口编号!=0)
窗口.置顶(窗口编号)
循环(真)
键盘.按键(9,1)
//键盘按1下切换键
辅助.等待(500)
取怪颜色=图像.区域找色(432,182,434,189,#0000bd,0,x坐标,y坐标)
//区域取怪颜色,并获得X,Y坐标  这里我用的是取怪最左边血条颜色
循环(取怪颜色)
//取怪颜色为真时,执行循环语句
键盘.按键(50,1)
//键盘按2键1次
辅助.等待(1000)
键盘.按键(49,1)
//键盘按1键1次
辅助.等待(1000)
键盘.按键(51,1)
//键盘按3键1次
辅助.等待(1000)
生命值=图像.区域找色(341,182,343,186,#0000bd,0,x坐标,y坐标)
//区域取生命值颜色,并获得X,Y坐标  百分之70的样子 回血
如果(!生命值)
//当生命值小于这个值时,运行下面语句
键盘.按键(54,1)
//键盘按下6键,加血
辅助.等待(1000)
如果结束
蓝值=图像.区域找色(342,200,347,204,#BD4900,0,x坐标,y坐标)
//区域取蓝值颜色,并获得X,Y坐标   这里也是百分之70的样子  回蓝
如果(!蓝值)
//当蓝值小于这个值时,运行下面语句
键盘.按键(55,1)
//键盘按下7键,加蓝
辅助.等待(1000)
如果结束
取怪颜色=图像.区域找色(432,182,434,189,#0000bd,0,x坐标,y坐标)
//判断怪是否死亡
辅助.等待(500)
键盘.按键(192,1)
辅助.等待(500)
循环结束
循环结束
否则
辅助.消息框("没有找到游戏窗口")
如果结束
返回 0
功能结束
功能 逻辑型 开始_点击()
//这里添加你要执行的代码,这里是你点击开始按钮执行的代码
线程编号=线程.开启("我的程序.大唐自动打怪")
//开启大唐自动打怪函数
返回 真
//函数返回语句
功能结束
功能 逻辑型 退出_点击()
//这里是你退出的时候要执行的代码,这类是你点击退出按钮执行的代码
辅助.退出()
返回 真
//函数返回语句
功能结束
空间结束
//命名空间结束语句


我感觉不对的地方就是 取怪颜色那里  本来我是取怪血条最左边的颜色的  不过  运行中发现   就算怪没有死亡   也会运行到  第二次取怪颜色  后面的   我在第二次取怪颜色后加了一条辅助消息框实验过  理论上 如果 取怪颜色那里正常的话  如果  怪还没有死亡  应该是跳回循环第一句(键盘.按键(50,1))执行的吧     不过  好象加红加蓝这两个 倒正常  也就是  当血或者蓝掉到预定值后 才会执行加血加蓝   没有到的时候倒不会喝药     大家帮我看看哪个地方有问题
回复

使用道具 举报

沙发
发表于 2011-8-1 06:52:12 | 只看该作者
你的怪物取色真的没问题?单点取色要很仔细,坐标一点点偏差就很大可能不能正确判断怪物死亡!建议用多点取色判断!
回复 支持 反对

使用道具 举报

板凳
发表于 2011-8-1 08:17:18 | 只看该作者
大唐的 小心封号嘿嘿
回复 支持 反对

使用道具 举报

地板
 楼主| 发表于 2011-8-1 08:24:05 | 只看该作者
回复 2楼小风子的帖子

:D    我想到了 貌似取怪的那个颜色区域太小了  我完全可以给他一大块区域啊   反正只要在里面找到血的颜色就可以判断怪是否死亡了  试验之```
回复 支持 反对

使用道具 举报

5#
 楼主| 发表于 2011-8-1 08:25:18 | 只看该作者
回复 3楼一生何求的帖子

:P 大唐据说手工的都封号    设置验证报警  还封那也就没办法了  正因为打击比较严  所以相对来说金价还是比较稳定  也不是完全没好处
回复 支持 反对

使用道具 举报

6#
发表于 2011-8-1 08:25:52 | 只看该作者
辅助.等待(500)
键盘.按键(192,1)
辅助.等待(500)   
这里是拾取吗?  如果是拾取的话不要放到这里
会失效 放到   TAB 选怪 的前面  这样效率方面或准确方面搞一点
回复 支持 反对

使用道具 举报

7#
 楼主| 发表于 2011-8-1 13:09:14 | 只看该作者
回复 6楼一生何求的帖子

是拾取,:#   怪死拾取  比较好嘛 如果放在选怪前  没有选到怪他也会一直按拾取了 不大合理吧
回复 支持 反对

使用道具 举报

8#
发表于 2011-8-2 14:36:22 | 只看该作者
第一个循环真下来是TAB切怪,然后判定是否切到怪,此动作不受判定是否成立的影响,所以导致怪没死照样继续切怪.在确认是否有怪的搜索上套个循环,以最后一个判定怪是否死亡语句的返回值作为控制依据即可.
回复 支持 反对

使用道具 举报

9#
 楼主| 发表于 2011-8-3 16:11:23 | 只看该作者
回复 8楼超自然的帖子

:~ 能把代码写一下么
回复 支持 反对

使用道具 举报

10#
发表于 2011-8-13 23:39:28 | 只看该作者
看不懂那是上面东西啊
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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

关闭

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

GMT+8, 2025-9-18 11:59 , Processed in 0.311744 second(s), 24 queries .

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

© 2001-2013 Comsenz Inc.

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