TC官方合作论坛

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

[已解决] 为什么老卡循环 而且不能用线程调用?

[复制链接]
跳转到指定楼层
楼主
发表于 2013-7-6 01:56:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上加入TC

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

x
#include"分解.t"
空间 队员挂机
//默认空间
dm
//开始按钮_点击操作
功能 开始_点击()
    dm=com("dm.dmsoft")
    dm.SetPath(辅助.获取资源路径("rc:"))  
    dm.SetDict(0,"主线任务.txt")

    窗口句柄=窗口.找到窗口("","zmyth.l2d.Frame")
    辅助.消息框(窗口句柄)
    ret=dm.BindWindow(窗口句柄,"gdi2","windows","windows",0)
    //辅助.消息框(ret)
    //如果(ret==0)

    //如果结束
    分解.接任务(dm)
功能结束

//退出按钮_点击操作
功能 退出_点击()

    辅助.退出()
功能结束


功能 初始化()
    //这里添加你要执行的代码
    是否成功=辅助.注册插件("rc://dm.dll",真)
    dm=com("dm.dmsoft")
功能结束

空间结束
//空间结束语句





空间 分解
功能 做任务(dm)
    变量 intX,intY,rw_x7,rw_y7,rw_x3,rw_y3,w_x1,w_y1
    循环(真)

        辅助.等待(1000)
        dm.FindStr(29,90,406,697,"宝宝","ffffff-101010|00ff00-101010|077ef8-101010|921afe-101010",1.0,rw_x3,rw_y3)
        如果(rw_x3>0)
            dm.MoveTo(876,594)
            辅助.等待(20)
            dm.LeftClick()
            dm.MoveTo(rw_x3,rw_y3-75)
            辅助.等待(20)
            dm.LeftClick()
            循环(真)
                辅助.等待(1000)
                dm.FindPic(734,163,827,325,"自动.bmp","101010",0.9,0,w_x1,w_y1)
                如果(w_x1>0)
                    dm.KeyDown(112)
                    dm.MoveTo(453,132)
                    辅助.等待(20)
                    dm.LeftClick()

                    dm.MoveTo(w_x1+3,w_y1+3)
                    辅助.等待(20)
                    dm.LeftClick()
                    跳出

                如果结束
            循环结束
        如果结束
        dm.FindPic(906,229,984,275,"自动.bmp","102030",0.9,0,intX,intY)

        如果(intX>0)
            dm.MoveTo(intX+3,intY+3)
            辅助.等待(20)
            dm.LeftClick()

        如果结束
        dm.FindStr(47,50,165,100,"活","ffcc00-101010",0.9,rw_x7,rw_y7)
        如果(rw_x7>0)
            分解.接任务(dm)
            跳出
        如果结束
    循环结束

功能结束

功能 验证(dm)

    变量 rw_x1,rw_y1,x,y,rw_x2,rw_y2,x1,y1,rw_x3,rw_y3,x2,y2,rw_x4,rw_y4,x3,y3,cy_x1,cy_y1

    图片数组=数组[]
    数组空间.增加(图片数组,"白骨束带.bmp",1)//1
    数组空间.增加(图片数组,"白玉戒指.bmp",1)//2
    数组空间.增加(图片数组,"碧玉冠.bmp",1)//3
    数组空间.增加(图片数组,"碧玉腰带.bmp",1)//4
    数组空间.增加(图片数组,"残月长裤.bmp",1)//5
    数组空间.增加(图片数组,"绸缎帽.bmp",1)//6
    数组空间.增加(图片数组,"绸缎上衣.bmp",1)//7
    数组空间.增加(图片数组,"绸缎靴子.bmp",1)//8
    数组空间.增加(图片数组,"绸缎腰带.bmp",1)//9
    数组空间.增加(图片数组,"绸缎长裤.bmp",1)//10
    数组空间.增加(图片数组,"大地上衣.bmp",1)//11
    数组空间.增加(图片数组,"大地头盔.bmp",1)//12
    数组空间.增加(图片数组,"大地靴子.bmp",1)//13
    数组空间.增加(图片数组,"大地腰带.bmp",1)//14
    数组空间.增加(图片数组,"大地长裤.bmp",1)//15
    数组空间.增加(图片数组,"扶摇鞋.bmp",1)//16
    数组空间.增加(图片数组,"黄泉古莲.bmp",1)//17
    数组空间.增加(图片数组,"黄泉戒指.bmp",1)//18
    数组空间.增加(图片数组,"浆纱上衣.bmp",1)//19
    数组空间.增加(图片数组,"金缕羽衣.bmp",1)//20
    数组空间.增加(图片数组,"金缕长裤.bmp",1)//21
    数组空间.增加(图片数组,"骷髅护符.bmp",1)//22
    数组空间.增加(图片数组,"冷魂腰带.bmp",1)//23
    数组空间.增加(图片数组,"玲珑项链.bmp",1)//24
    数组空间.增加(图片数组,"流金戒指.bmp",1)//25
    数组空间.增加(图片数组,"秘银戒指.bmp",1)//26
    数组空间.增加(图片数组,"墨玉项链.bmp",1)
    数组空间.增加(图片数组,"如意护符.bmp",1)
    数组空间.增加(图片数组,"神行靴.bmp",1)
    数组空间.增加(图片数组,"霜嚎腰带.bmp",1)
    数组空间.增加(图片数组,"水合外袍.bmp",1)
    数组空间.增加(图片数组,"水晶棺.bmp",1)
    数组空间.增加(图片数组,"太细戒指.bmp",1)
    数组空间.增加(图片数组,"铁指环.bmp",1)
    数组空间.增加(图片数组,"镶皮外套.bmp",1)
    数组空间.增加(图片数组,"祥云符饰.bmp",1)
    数组空间.增加(图片数组,"小皮靴.bmp",1)
    数组空间.增加(图片数组,"玄霜长裤.bmp",1)
    数组空间.增加(图片数组,"玄铁官.bmp",1)
    数组空间.增加(图片数组,"血阳项链.bmp",1)
    数组空间.增加(图片数组,"寻道冠.bmp",1)
    数组空间.增加(图片数组,"羊脂护肤.bmp",1)
    数组空间.增加(图片数组,"永立官.bmp",1)
    数组空间.增加(图片数组,"珍珠项链.bmp",1)
    数组空间.增加(图片数组,"朱玉项链.bmp",1)
    数组空间.增加(图片数组,"追云鞋.bmp",1)
    数组空间.增加(图片数组,"寻道袍.bmp",1)
    数组空间.增加(图片数组,"寻道腰带.bmp",1)
    数组空间.增加(图片数组,"寻道长裤.bmp",1)
    数组空间.增加(图片数组,"寻道长靴.bmp",1)
    所找图片="白骨束带.bmp|白玉戒指.bmp|碧玉冠.bmp|碧玉腰带.bmp|残月长裤.bmp|绸缎帽.bmp|绸缎上衣.bmp|绸缎靴子.bmp|绸缎腰带.bmp|绸缎长裤.bmp|大地上衣.bmp|大地头盔.bmp|大地靴子.bmp|大地腰带.bmp|大地长裤.bmp|扶摇鞋.bmp|黄泉古莲.bmp|黄泉戒指.bmp|浆纱上衣.bmp|金缕羽衣.bmp|金缕长裤.bmp|骷髅护符.bmp|冷魂腰带.bmp|玲珑项链.bmp|流金戒指.bmp|秘银戒指.bmp|墨玉项链.bmp|如意护符.bmp|神行靴.bmp|霜嚎腰带.bmp|水合外袍.bmp|水晶棺.bmp|太细戒指.bmp|铁指环.bmp|镶皮外套.bmp|祥云符饰.bmp|小皮靴.bmp|玄霜长裤.bmp|玄铁官.bmp|血阳项链.bmp|寻道冠.bmp|羊脂护肤.bmp|永立官.bmp|珍珠项链.bmp|朱玉项链.bmp|追云鞋.bmp|寻道袍.bmp|寻道腰带.bmp|寻道长裤.bmp|寻道长靴.bmp"
    循环(真)
        辅助.等待(1000)
        返回值=dm.FindPic(242,322,347,457,所找图片,"101010",0.9,0,rw_x1,rw_y1)

        如果(返回值>-1)

            辅助.写入剪切板(所找图片)
            内容=图片数组[返回值]&"|"
            新找图片=字符串.替换(所找图片,内容,"")
            //辅助.消息框(新找图片)
            新返回值=dm.FindPic(242,322,347,457,新找图片,"101010",0.9,0,x,y)
            //调试输出("第一次返回值"&新返回值)

            如果(新返回值==-1)  ///第二次找 没找到 图片 说明只有一个图

                dm.MoveTo(rw_x1+3,rw_y1+3)
                辅助.等待(20)
                dm.LeftClick()
                //辅助.消息框(rw_x1)
                返回 假   //第一个返回找到只有一张图并点击了过后程序将返回不执行下面的代码//////
            如果结束   //后面代码同上,只是范围不一样
        如果结束
        返回值=dm.FindPic(360,323,467,450,所找图片,"101010",0.9,0,rw_x2,rw_y2)
        如果(返回值>-1)

            辅助.写入剪切板(所找图片)
            内容=图片数组[返回值]&"|"
            新找图片=字符串.替换(所找图片,内容,"")
            //辅助.消息框(新找图片)
            新返回值=dm.FindPic(360,323,467,450,新找图片,"101010",0.9,0,x1,y1)
            //调试输出("第二次返回值"&新返回值)

            如果(新返回值==-1)

                dm.MoveTo(rw_x2,rw_y2)
                辅助.等待(20)
                dm.LeftClick()
                //辅助.消息框(rw_x2)
                返回 假
            如果结束

        如果结束
        返回值=dm.FindPic(480,326,595,452,所找图片,"101010",0.9,0,rw_x3,rw_y3)
        如果(返回值>-1)
            辅助.写入剪切板(所找图片)
            内容=图片数组[返回值]&"|"
            新找图片=字符串.替换(所找图片,内容,"")
            //辅助.消息框(新找图片)
            新返回值=dm.FindPic(480,326,595,452,新找图片,"101010",0.9,0,x2,y2)
            //调试输出("第三次返回值"&新返回值)

            如果(新返回值==-1)
                dm.MoveTo(rw_x3,rw_y3)
                辅助.等待(20)
                dm.LeftClick()
                //辅助.消息框(rw_x3)
                返回 假
            如果结束

        如果结束

        返回值=dm.FindPic(603,333,712,447,所找图片,"101010",0.9,0,rw_x4,rw_y4)
        如果(返回值>-1)
            辅助.写入剪切板(所找图片)
            内容=图片数组[返回值]&"|"
            新找图片=字符串.替换(所找图片,内容,"")
            //辅助.消息框(新找图片)
            新返回值=dm.FindPic(603,333,712,447,新找图片,"101010",0.9,0,x3,y3)
            //调试输出("第四次返回值"&新返回值)

            如果(新返回值==-1)
                dm.MoveTo(rw_x4,rw_y4)
                辅助.等待(20)
                dm.LeftClick()
                //辅助.消息框(rw_x4)
                返回 假
            如果结束

        如果结束
        dm.FindPic(860,58,941,95,"验证.bmp","101010",0.9,0,cy_x1,cy_y1)
        如果(cy_x1<0)
            分解.做任务(dm)
        如果结束

    循环结束

功能结束

功能 接任务(dm)
    变量 y,rw_x1,rw_y1,rw_x2,rw_y2,rw_x3,rw_y3,rw_x4,rw_y4,rw_x5,rw_y5,rw_x6,rw_y6,rw_x7,rw_y7,rw_x8,rw_y8,rw_x9,rw_y9,cy_x,cy_y,cy_x1,cy_y1,cy_x2,cy_y2,cy_x3,cy_y3

    dm.FindPic(860,58,941,95,"显示a.bmp","101010",0.9,0,rw_x1,rw_y1)
    如果(rw_x1<0)
        dm.KeyDown(164)
        辅助.等待(50)
        dm.KeyPress(69)
        辅助.等待(50)
        dm.KeyUp(164)
        //ts.KeyUp(71)
        辅助.等待(500)
        dm.FindPic(537,159,797,425,"红.bmp","101010",0.9,0,rw_x2,rw_y2)
        如果(rw_x2>0)
            dm.MoveTo(rw_x2+3,rw_y2+3)
            辅助.等待(20)

            dm.RightClick()
            dm.FindStr(411,437,609,485,"确|定","fbe076-101010",0.9,rw_x3,rw_y3)
            如果(rw_x3>0)
                dm.MoveTo(rw_x3+3,rw_y3+3)
                辅助.等待(500)
                dm.LeftClick()
            如果结束
        如果结束

    如果结束
    dm.FindPic(860,58,941,95,"显示b.bmp","101010",0.9,0,rw_x4,rw_y4)
    如果(rw_x4<0)
        dm.KeyDown(164)
        辅助.等待(50)
        dm.KeyPress(69)
        辅助.等待(50)
        dm.KeyUp(164)
        //ts.KeyUp(71)
        辅助.等待(500)
        dm.FindPic(537,159,797,425,"蓝.bmp","101010",0.9,0,rw_x5,rw_y5)
        如果(rw_x5>0)
            dm.MoveTo(rw_x5+3,rw_y5+3)
            辅助.等待(20)

            dm.RightClick()
            dm.FindStr(411,437,609,485,"确|定","fbe076-101010",0.9,rw_x6,rw_y6)
            如果(rw_x6>0)
                dm.MoveTo(rw_x6+3,rw_y6+3)
                辅助.等待(500)
                dm.LeftClick()
            如果结束
        如果结束

    如果结束
    dm.FindPic(860,58,941,95,"显示c.bmp","101010",0.9,0,rw_x8,rw_y8)
    如果(rw_x8<0)
        dm.KeyDown(164)
        辅助.等待(50)
        dm.KeyPress(69)
        辅助.等待(50)
        dm.KeyUp(164)
        //ts.KeyUp(71)
        辅助.等待(500)
        dm.FindPic(537,159,797,425,"宠物红.bmp","101010",0.9,0,rw_x9,rw_y9)
        如果(rw_x9>0)
            dm.MoveTo(rw_x9+3,rw_y9+3)
            辅助.等待(20)

            dm.RightClick()
            dm.FindStr(411,437,609,485,"确|定","fbe076-101010",0.9,cy_x,cy_y)
            如果(cy_x>0)
                dm.MoveTo(cy_x+3,cy_y+3)
                辅助.等待(300)
                dm.LeftClick()
            如果结束
        如果结束

    如果结束

    dm.FindPic(860,58,941,95,"显示d.bmp","101010",0.9,0,cy_x1,cy_y1)
    如果(cy_x1<0)
        dm.KeyDown(164)
        辅助.等待(50)
        dm.KeyPress(69)
        辅助.等待(50)
        dm.KeyUp(164)
        //ts.KeyUp(71)

        dm.FindPic(537,159,797,425,"宠物蓝.bmp","101010",0.9,0,cy_x2,cy_y2)
        如果(cy_x2>0)
            dm.MoveTo(cy_x2+3,cy_y2+3)
            辅助.等待(20)

            dm.RightClick()
            dm.FindStr(411,437,609,485,"确|定","fbe076-101010",0.9,cy_x3,cy_y3)
            如果(cy_x3>0)
                dm.MoveTo(cy_x3+3,cy_y3+3)
                辅助.等待(500)
                dm.LeftClick()
            如果结束
        如果结束

    如果结束

    分解.验证(dm)-------------------------------每个功能的循环的后面这里  只要用   线程.开启(“分解。验证”,dm)就在运行的时候弹出  dm  不是什么数据类型什么的       请大神指点
功能结束




空间结束

回复

使用道具 举报

地板
发表于 2013-7-6 12:10:26 | 只看该作者
单开版本的话

线程句柄
//开始按钮_点击操作
功能 开始_点击()
    如果(线程句柄<0)
        线程句柄 = 线程.开启("队员挂机.开始操作","123")
    如果结束
功能结束
功能 开始操作(参数)
    dm=com("dm.dmsoft")
    dm.SetPath(辅助.获取资源路径("rc:"))  
    dm.SetDict(0,"主线任务.txt")

    窗口句柄=窗口.找到窗口("","zmyth.l2d.Frame")
    辅助.消息框(窗口句柄)
    ret=dm.BindWindow(窗口句柄,"gdi2","windows","windows",0)
    //辅助.消息框(ret)
    //如果(ret==0)

    //如果结束
    分解.接任务(dm)
功能结束



这样就好了
回复 支持 反对

使用道具 举报

沙发
 楼主| 发表于 2013-7-6 01:56:50 | 只看该作者
很多大神      和他的程序都对了  没找出原因
回复 支持 反对

使用道具 举报

板凳
发表于 2013-7-6 05:29:49 | 只看该作者
不知道你是不要一个线程操作一个窗口 你可以一个线程创个大漠对象
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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

关闭

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

GMT+8, 2025-9-19 12:44 , Processed in 0.213109 second(s), 24 queries .

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

© 2001-2013 Comsenz Inc.

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