TC官方合作论坛

 找回密码
 立即注册
查看: 690|回复: 6

[问题] 请教下,下面的代码语法方面有什么问题么,不太正常

[复制链接]
发表于 2013-9-13 01:58:35 | 显示全部楼层 |阅读模式

马上加入TC

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

x
下面这段代码,请问语法逻辑方面有什么问题么,弄了好久没弄好,原本是我用屏幕坐标模式写的,一切正常,换成窗口坐标模式就不正常了,谢谢了


空间 挂机
//默认空间
变量 打怪
变量 补红
变量 补蓝
变量 roll
功能 自动打怪()
    鼠标窗口=窗口.鼠标所在窗口句柄()
    变量 x,y,x1,y1
    循环(真)
        变量 c
        循环(窗口.区域找色(鼠标窗口,477,62,477,62,#E7D3B5,1,x,y))
            窗口.发送按键(鼠标窗口,49)
            辅助.等待(100)
            窗口.发送按键(鼠标窗口,50)
            辅助.等待(100)
            c=c+1
            如果(c>10)
                窗口.发送按键(鼠标窗口,9)
                辅助.等待(100)
                跳出
            如果结束
        循环结束
        循环(窗口.区域找色(鼠标窗口,592,55,592,55,#F7DB9C,1,x1,y1))
            窗口.发送按键(鼠标窗口,49)
            辅助.等待(100)
            窗口.发送按键(鼠标窗口,50)
            辅助.等待(100)
            c=c+1
            如果(c>10)
                窗口.发送按键(鼠标窗口,9)
                辅助.等待(100)
                跳出
            如果结束
        循环结束
        窗口.发送按键(鼠标窗口,9)
        辅助.等待(100)
        窗口.发送按键(鼠标窗口,32)
        辅助.等待(100)
        
    循环结束
功能结束

功能 自动补红()
    鼠标窗口=窗口.鼠标所在窗口句柄()
    循环(真)
        内容=编辑框.获得文本("编辑框0")
        起点=278
        终点=427
        长度=终点-起点
        加血X坐标=起点+长度*内容/100
        变量 m,n
        是否找到=窗口.模糊找色(鼠标窗口,加血X坐标,695,427,696,#C61010,0.8,0,m,n)
        如果(!是否找到)
            窗口.发送按键(鼠标窗口,112)
        如果结束
        辅助.等待(100)
    循环结束
功能结束

功能 自动补蓝()
    鼠标窗口=窗口.鼠标所在窗口句柄()
    循环(真)
        内容=编辑框.获得文本("编辑框0")
        起点=592
        终点=739
        长度=终点-起点
        加蓝X坐标=起点+长度*内容/100
        变量 e,f
        是否找到=窗口.模糊找色(鼠标窗口,加蓝X坐标,693,739,694,#187594,0.8,0,e,f)
        如果(!是否找到)
            窗口.发送按键(鼠标窗口,113)
        如果结束
        辅助.等待(100)
    循环结束
功能结束


功能 自动roll()
    鼠标窗口=窗口.鼠标所在窗口句柄()
    变量 X,Y
    循环(真)
        窗口.找图(鼠标窗口,10,10,1000,700,"rc:roll.bmp",#102030,0.8,0,X,Y)
        如果(X>0&&Y>0)
            窗口.鼠标移动(鼠标窗口,X+15,Y+10)
            辅助.等待(200)
            窗口.鼠标左键单击(鼠标窗口,X+15,Y+10)
        如果结束
    循环结束
功能结束


//开始按钮_点击操作

//退出按钮_点击操作
功能 退出_点击()
    辅助.退出()
功能结束

功能 热键0_热键()
    //这里添加你要执行的代码       
    打怪=线程.开启("挂机.自动打怪","")
    补红=线程.开启("挂机.自动补红","")
    补蓝=线程.开启("挂机.自动补蓝","")
    roll=线程.开启("挂机.自动roll","")
功能结束


功能 热键1_热键()
    //这里添加你要执行的代码
    线程.暂停(打怪)
    线程.暂停(补红)
    线程.暂停(补蓝)
    线程.暂停(roll)
功能结束


空间结束
回复

使用道具 举报

发表于 2013-9-13 09:33:21 | 显示全部楼层
这个你需要先测试下游戏支持窗口图色不?如果不支持,那就换插件去写。

测试方法:把窗口句柄填写到AB抓抓的图像页面里的句柄位置,之后点击显示位图按钮,如果在下面能正常显示游戏窗口,那就表示支持,如果不能正常显示,那就是不支持窗口的图色。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-9-13 09:47:52 | 显示全部楼层
回复 2楼Abin的帖子

支持窗口取色的,这脚本逻辑方面有问题么?请问
回复 支持 反对

使用道具 举报

发表于 2013-9-13 09:54:33 | 显示全部楼层
你前台都测试OK啦。 那逻辑应该没问题。。

只是改了窗口之后,那么你的坐标也得相应的变为窗口的坐标。不能再使用以前的屏幕坐标了!可能是这个问题。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-9-13 09:55:55 | 显示全部楼层
这样是正常的,但换成窗口就不行了,请指教


空间 实验
//默认空间
变量 打怪
变量 补红
变量 补蓝
变量 roll
功能 自动打怪()
    变量 x,y
    变量 x1,y1
    循环(真)
        变量 c
        循环(图像.区域找色(634,52,654,62,#E7D3B5,0,x,y))
            键盘.按键(49,1)
            辅助.等待(200)
            键盘.按键(50,1)
            辅助.等待(200)
            c=c+1
            如果(c>10)
                键盘.按键(9,1)
                辅助.等待(200)
                跳出
            如果结束
        循环结束
        循环(图像.区域找色(750,45,770,65,#F7DB9C,0,x1,y1))
            键盘.按键(49,1)
            辅助.等待(200)
            键盘.按键(50,1)
            辅助.等待(100)
            c=c+1
            如果(c>10)
                键盘.按键(9,1)
                辅助.等待(200)
                跳出
            如果结束
        循环结束
        键盘.按键(9,1)
        辅助.等待(100)
        键盘.按键(32,1)
        辅助.等待(200)
        
    循环结束
功能结束

功能 自动补红()
    循环(真)
        内容=编辑框.获得文本("编辑框0")
        起点=445
        终点=592
        长度=终点-起点
        加血X坐标=起点+长度*内容/100
        变量 m,n
        是否找到=图像.模糊找色(加血X坐标,694,595,695,#941818,0.8,0,m,n)
        如果(!是否找到)
            键盘.按键(112,1)
        如果结束
        辅助.等待(200)
    循环结束
功能结束

功能 自动补蓝()
    循环(真)
        内容=编辑框.获得文本("编辑框0")
        起点=759
        终点=906
        长度=终点-起点
        加蓝X坐标=起点+长度*内容/100
        变量 e,f
        是否找到=图像.模糊找色(加蓝X坐标,694,901,695,#187594,0.8,0,e,f)
        如果(!是否找到)
            键盘.按键(113,1)
        如果结束
        辅助.等待(200)
    循环结束
功能结束


功能 自动roll()
    变量 骰子X,骰子Y
    循环(真)
        图像.找图(441,176,911,543,"rc:roll.bmp",#102030,0.8,0,骰子X,骰子Y)
        如果(骰子X>0&&骰子Y>0)
            鼠标.移动(骰子X+15,骰子Y+10)
            辅助.等待(200)
            鼠标.左键单击(1)
        如果结束
    循环结束
功能结束


//开始按钮_点击操作

//退出按钮_点击操作
功能 退出_点击()
    辅助.退出()
功能结束




功能 热键0_热键()
    //这里添加你要执行的代码
    打怪=线程.开启("实验.自动打怪","")
    补红=线程.开启("实验.自动补红","")
    补蓝=线程.开启("实验.自动补蓝","")
    roll=线程.开启("实验.自动roll","")
功能结束


功能 热键1_热键()
    //这里添加你要执行的代码
   
    线程.暂停(打怪)
    线程.暂停(补红)
    线程.暂停(补蓝)
    线程.暂停(roll)
功能结束

空间结束
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-9-13 09:56:36 | 显示全部楼层
回复 4楼Abin的帖子

已试过,窗口抓色是可以的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-9-13 09:57:46 | 显示全部楼层
回复 4楼Abin的帖子

我就是取得窗口坐标,反反复复试验,取窗口坐标,窗口坐标应该没问题的- -
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

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

GMT+8, 2024-9-24 13:54 , Processed in 0.039321 second(s), 23 queries .

Powered by 海安简单软件服务部

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

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