TC官方合作论坛

 找回密码
 立即注册
查看: 2390|回复: 8

[已解决] 请关于圣境传说用TC制作脚本后测试中的问题

[复制链接]
发表于 2012-6-11 14:50:28 | 显示全部楼层 |阅读模式

马上加入TC

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

x
我根据教学视频,自己动手做了1个圣境传说的脚本,目前在测试中遇到以下问题,请大侠给予解答和提示。谢谢!
1. 抓色问题,在游戏里任何位置抓色都是00000000,如何解决?我现在把游戏截图,然后再抓色,这样是否做好脚本在游戏中使用?(我按照以上方法测试,游戏里会按TAB找怪,然后按1攻击,但是TAB是一直在按,1键也是一直在按。同一个脚本,退出后在调试,会出现TAB不按了,1键一直在按。以上2种情况都出自同1个脚本)
2. 找图问题,经过找色的失败,我又试了下找图。我脚本里加了找到图就有信息提示的语句,找图没有问题。但是在测试后还是出现了以上的2种情况,同一个脚本,1字不差。
3. 按键问题,普通按键在游戏里没反应,使用超级按键在游戏里就可以了。这个和以上的2种情况是否有关系?
总结:自动打怪脚本应该没有问题,就是先找图,然后循环(真),然后如果 !找图 按TAB 等待1秒 如果结束,按1键 等待1秒,返回(真),循环结束。以上是脚本的大致流程。是不是游戏对TC的编程有屏蔽呢?请各位大侠给予指点。
回复

使用道具 举报

发表于 2012-6-15 14:32:00 | 显示全部楼层
#import "dm.dmsoft" DM
空间 测试
//定义默认空间
整型 线程句柄
整型 ID
功能 逻辑型 自动打怪()
整型 intX,intY
整型 fx,fy
整型 判断
DM.SetPath(辅助.获取资源路径("rc:"))
DM.SetDict(0,"字库.txt")
循环 (真)
辅助.等待(500)
判断= DM.FindStrFast(0,0,1280,960,"验证码","f0efed-000000|807a6e-000000",1.0,intX,intY)//验证码窗口
    如果(判断==0)
        ID = 辅助.播放("rc:1.mp3")
        辅助.等待(500)
        线程.关闭(线程句柄)
    如果结束
    辅助.等待(100)
判断= DM.FindStrFast(0,0,1280,960,"怪物","ffe9a6-000000",1.0,intX,intY)//怪物头像
辅助.等待(100)
如果(判断==0)
    超级键盘.按键(49,1)  
    辅助.等待(100)
    超级键盘.按键(49,1)  
//    辅助.等待(50)
//    超级键盘.按键(50,1)
//     辅助.等待(100)
//    超级键盘.按键(51,1)
    辅助.等待(350)
否则
    超级键盘.按键(9,1)
//    辅助.等待(500)
如果结束
循环结束
返回 真
功能结束







我写的。。可以用。。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-6-11 15:03:15 | 显示全部楼层
在补充下,我的系统是WIN7 32位的,这个和以上的问题有关系吗?
回复 支持 反对

使用道具 举报

发表于 2012-6-11 16:34:28 | 显示全部楼层
1.楼主先截图再取色,应该是没有问题的。  如果出现不停的按下tab。 看下颜色判断或者逻辑是否有问题。
2.找图可以找到。 那证明是ok的,不可能放在你打怪里面就会找不到。  还是检查逻辑问题。
3.按照楼主的描述,应该是游戏屏蔽了普通的按键和鼠标操作。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-6-12 08:40:18 | 显示全部楼层
回复 3楼tyuyan的帖子

那等我回去把脚本代码发上来,你帮我看看是不是逻辑的问题。谢谢。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-6-12 23:41:30 | 显示全部楼层
空间 sjws
//定义默认空间
整型 线程句柄
功能 逻辑型 打怪()
整型 x,y
整型 窗口句柄
逻辑型 是否找到
窗口句柄=窗口.找到窗口(编辑框.获得文本("编辑框0"))
如果(窗口句柄==0)
    辅助.消息框("窗口没有找到")
如果结束
窗口.设置位置(窗口句柄,0,0)
窗口.激活(窗口句柄)
辅助.等待(500)
//是否找到=图像.区域找色(426,118,446,125,#F6E092,0,x,y)
//是否找到=图像.模糊找色(420,98,422,108,#000000,0.8,0,x,y)
//说明:支持多张图片(图片与图片中间使用 竖线隔开)和根据四角的颜色判断是否为透明图

整型 图像序号,返回的x坐标,返回的y坐标

图像序号=图像.找图(415,96,449,112,"F:\\血.bmp",#203040,0.8,0,返回的x坐标,返回的y坐标)

//如果(图像序号>=0)
//
//辅助.消息框(转换.整型转字符型(返回的x坐标))
//
//辅助.消息框(转换.整型转字符型(返回的y坐标))
//
//辅助.消息框("找到该图")
//
//否则
//
//辅助.消息框("没有找到该图")
//
//如果结束

循环 (真)
如果(图像序号<0)
    超级键盘.按键(9,1)
//    键盘.按键(9,1)
//窗口.发送按键(窗口句柄,9)
    辅助.等待(1000)
否则
   超级键盘.按键(49,1)
//窗口.发送按键(窗口句柄,49)
    辅助.等待(1000)
如果结束
循环结束
返回 真
功能结束
功能 逻辑型 开始_点击()
//这里添加你要执行的代码
线程句柄=线程.开启("sjws.打怪","")

返回 真
//函数返回语句
功能结束

功能 逻辑型 退出_点击()
//这里添加你要执行的代码
线程.关闭(线程句柄)
辅助.退出()

返回 真
//函数返回语句
功能结束

空间结束
//空间结束语句
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-6-17 00:40:32 | 显示全部楼层
回复 6楼cancangood的帖子

谢谢,学到了思路了。找字也能用了。再问个问题,我没有设线程,按开始就循环打怪,但是tc就是无响应状态了,我无法按退出按钮。游戏里是正常在自动打怪。这个是没设线程的原因吗?
回复 支持 反对

使用道具 举报

发表于 2012-6-17 02:31:54 | 显示全部楼层
死循环就是会出现无响应的噢。 用线程吧

功能 逻辑型 退出_点击()
//这里添加你要执行的代码
辅助.退出()
返回 真
//函数返回语句
功能结束


功能 逻辑型 热键0_热键()
//这里添加你要执行的代码
线程句柄=线程.开启("测试.自动打怪","")
返回 真
功能结束


功能 逻辑型 热键1_热键()
//这里添加你要执行的代码
线程.关闭(线程句柄)
返回 真
功能结束

功能 逻辑型 热键2_热键()
//这里添加你要执行的代码
辅助.停止播放(ID)
返回 真
功能结束
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-6-19 08:18:13 | 显示全部楼层
回复 8楼cancangood的帖子

经过这几天的学习,现在已经写好可以后台自动打怪的脚本了。还有了验证码出现后播放音乐的功能。现在想学下判断背包是否满的思路,请大侠给予指点。是不是要定时开启背包判断最后一个是否有东西,还是有啥更好的方法呢?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

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

GMT+8, 2024-5-30 01:38 , Processed in 0.049375 second(s), 23 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

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