TC官方合作论坛

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

[已解决] 求大神们给看看,到底哪里错了,我自己研究了半天也没弄明!先谢谢了!

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

马上加入TC

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

x
下面是tyuyan 大神写的多开自动打怪模版,但是在TC里面运行的时候下面红色字体的提示语法错误,大神们给看看是哪里错了,我自己研究了半天也没弄明!先谢谢了!

http://bbs.tyuyan.com/thread-10211-1-1.html这个是tyuyan 大神的帖子链接。

#import "dm.dmsoft"  dm
空间   多开自动打怪模版
//如果该游戏支持大漠的dx模式,只需修改颜色值和按键键码,也可以达到通用

字符型  IP端口
整型  c1,i,k,窗口句柄,线程句柄,F3开始时间,F3运行时间,F4开始时间,F4运行时间,F5开始时间,F5运行时间,F3冷却时间,F4冷却时间,F5冷却时间
字符型[] 句柄
整型[]  线程句柄集

//获得界面设置的值,在本空间调用。
功能 逻辑型 接受主界面设置(整型  F3时间,整型 F4时间,整型 F5时间,字符型  获得IP端口)
F3冷却时间= F3时间
辅助.等待(100)
F4冷却时间=F4时间
辅助.等待(100)
F5冷却时间=F5时间
辅助.等待(100)
IP端口=获得IP端口
返回 真
功能结束
功能 逻辑型 自动打怪()
字符型 路径
路径=辅助.获取资源路径("rc:")
dm.SetPath(路径)
辅助.等待(500)
dm.SetDict(0,"dm_soft.txt")
整型 窗口绑定是否成功,intX,intY,intX1,intY1,intX2,intY2,intX3,intY3,intX4,intY4,intX5,intY5,intX6,intY6
     如果(c1!=0)
     窗口句柄=转换.字符型转整型(句柄,0)
     如果结束
     窗口绑定是否成功=dm.BindWindow(窗口句柄,"dx","dx","dx",0)
     
     如果(窗口绑定是否成功==0)
         辅助.消息框("窗口绑定失败")
     否则
        
        F3开始时间=系统.获取毫秒()/1000
        F4开始时间=系统.获取毫秒()/1000
        F5开始时间=系统.获取毫秒()/1000
        
        
       循环(真)
        dm.KeyDown(17)
        辅助.等待(100)
dm.KeyPress(9)
        辅助.等待(100)
        dm.KeyUp(17)
        int intx,inty
        //找怪物颜色
        dm.FindColor(444,24,457,41, "ea1200-000000", 0.8, 0,intX,intY)
        dm.FindColor(275,24,457,41, "ea1200-000000", 0.8, 0,intx,inty)
        辅助.等待(1000)
        循环(intX>0||intx>0)
            //如果找到怪物,执行打怪操作
     F3运行时间=系统.获取毫秒()/1000
            F4运行时间=系统.获取毫秒()/1000
            F5运行时间=系统.获取毫秒()/1000
            dm.KeyPress(112)
            //延时用随机数,防止游戏检测固定时间按键
            辅助.等待(辅助.随机数(100,1000))
            
         
            //此找字方法为检测验证码的,不同游戏出现的特征不同。
             dm.FindStr(0,0,2000,2000,"防挂机检测","e6d402-404040",0.8,intX6,intY6)
             辅助.等待(1000)
              如果(intX6>=0)
                 辅助.蜂鸣(1000,3000)
              整型   截图句柄 = dm.FaqCapture(0,0,1500,1500,50,0,0)
              如果(dm.FaqPost(IP端口,截图句柄,1,60 * 1000)==1)
              循环(真)
              字符型  返回的结果 = dm.FaqFetch()
              如果(字符串.长度(返回的结果)>0)
                  如果(返回的结果=="OK:1")
                       dm.MoveTo(intX6-2,intY6+174)
                       辅助.等待(100)
                       dm.LeftClick()
                       辅助.等待(100)
                       dm.MoveTo(intX6+135,intY6+272)
                       辅助.等待(100)
                       dm.LeftClick()
                       跳出
                  如果结束
                  
                  如果(返回的结果=="OK:2")
                      dm.MoveTo(intX6-2,intY6+199)
                      辅助.等待(100)
                      dm.LeftClick()
                      辅助.等待(100)
                       dm.MoveTo(intX6+135,intY6+272)
                       辅助.等待(100)
                       dm.LeftClick()
                       跳出
                  如果结束
                  
                  如果(返回的结果=="OK:3")
                       dm.MoveTo(intX6-2,intY6+224)
                       辅助.等待(100)
                       dm.LeftClick()
                       辅助.等待(100)
                       dm.MoveTo(intX6+135,intY6+272)
                       辅助.等待(100)
                       dm.LeftClick()
                         跳出
                  如果结束
                  
                  如果(返回的结果=="OK:4")
                        dm.MoveTo(intX6-2,intY6+249)
                        辅助.等待(100)
                        dm.LeftClick()
                        辅助.等待(100)
                        dm.MoveTo(intX6+135,intY6+272)
                        辅助.等待(100)
                        dm.LeftClick()
                        跳出
                  如果结束

              如果结束
              循环结束
              如果结束  
              如果结束
              
              
              
            //加血判断,如果人物血量低于50%,就会自动回血,你可以根据你的游戏来修改颜色和坐标范围。
             dm.FindColor(128,26,140,41, "d90a00-000000", 0.8, 0,intX3,intY3)
             辅助.等待(1000)
             如果(intX3<0)
                 dm.KeyPress(121)
             如果结束
           
            //加蓝判断,如果人物蓝值低于50%,就会自动回蓝,你可以根据你的游戏来修改颜色和坐标范围。
             dm.FindColor(128,32,144,48, "3735ea-000000", 0.8, 0,intX4,intY4)
             辅助.等待(100)
             如果(intX4<0)
                 dm.KeyPress(120)
            如果结束  

          //蓝值判断,如果不够,不执行消耗技能按键。减少不必要的按键操作,减小封号风险。
             如果(dm.FindColor(66,38,80,48, "313131-000000", 0.8, 0,intX4,intY4)==1)
             辅助.等待(100)
            
            dm.KeyPress(113)
            辅助.等待(1000)
            
              //计算技能冷却时间,减少不必要的按键操作,减小封号风险。
           如果((F3运行时间-F3开始时间)>F3冷却时间)
             //按下F3
           F3开始时间=系统.获取毫秒()/1000   
            dm.KeyPress(114)
            辅助.等待(辅助.随机数(100,1000))
             如果结束      
            如果((F4运行时间-F4开始时间)>F4冷却时间)
              //按下F4
               F4开始时间=系统.获取毫秒()/1000
            dm.KeyPress(115)
            辅助.等待( 辅助.随机数(500,1000))
             如果结束
      
             如果((F5运行时间-F5开始时间)>F5冷却时间)
              //按下F5
                F5开始时间=系统.获取毫秒()/1000
               dm.KeyPress(116)
               辅助.等待(辅助.随机数(100,1000))
               如果结束
               
             如果结束
            
              //宠物加血判断,如果你的游戏没有宠物,此代码可以取消。
             dm.FindColor(154,77,172,89, "ea0900-000000", 0.8, 0,intX5,intY5)
             辅助.等待(100)
             如果(intX5<0)
                 dm.KeyPress(119)
            如果结束  
         
            //怪物是否死亡判断,如果怪物死亡,跳出打怪循环,执行取怪循环
            dm.FindColor(275,28,284,43, "ea1200-000000", 0.9, 0,intX1,intY1)
            辅助.等待(1000)
            如果(intX1<0)
            dm.KeyPress(112)
            辅助.等待(1000)
            dm.KeyPress(113)
            辅助.等待(1000)
                跳出
            如果结束
            
        循环结束
   循环结束
   
     如果结束
返回 真
功能结束
功能  整型 大漠解绑()
dm.UnBindWindow()
返回 0
功能结束

功能  逻辑型   获得多开窗口(字符型 窗口句柄集)
  字符串.分割(窗口句柄集,"|",句柄)
   i=0
   数组.大小(句柄,c1)                  
       如果(c1==0) //如果c1=0证明就一个游戏窗口,单开操作
            窗口句柄=转换.字符型转整型(窗口句柄集,0)
            辅助.等待(1000)
            线程句柄=线程.扩展开启("多开自动打怪模版.自动打怪","多开自动打怪模版.大漠解绑")   
        否则
               线程句柄集=整型[c1]
                     循环(i <c1)
                             线程句柄集=线程.扩展开启("多开自动打怪模版.自动打怪","多开自动打怪模版.大漠解绑")
                             辅助.等待(2000)
                               i=i +1
                      循环结束
                               k=i-1
        如果结束   
返回  真
功能结束
功能  逻辑型 退出()
如果(c1==0)
     线程.关闭(线程句柄)
     辅助.等待(2000)
否则
     循环(k>=0)
      // 辅助.消息框(转换.整型转字符型(线程句柄集[k]))
         线程.关闭(线程句柄集[k])
         辅助.等待(2000)
              k=k-1
     循环结束
如果结束
辅助.等待(10000)
辅助.退出()
返回 真
功能结束

空间结束
回复

使用道具 举报

发表于 2012-6-26 13:39:33 | 显示全部楼层
线程句柄=线程.扩展开启("多开自动打怪模版.自动打怪","多开自动打怪模版.大漠解绑")   

线程句柄=线程.扩展开启("多开自动打怪模版.自动打怪","","多开自动打怪模版.大漠解绑","")   //又是没参数的问题啊
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-6-26 11:14:36 | 显示全部楼层
沙发自己的!
回复 支持 反对

使用道具 举报

发表于 2012-6-26 11:50:19 | 显示全部楼层
把提示的错误发图出来啦
回复 支持 反对

使用道具 举报

发表于 2012-6-26 12:39:04 | 显示全部楼层
线程.扩展开启(字符型 线程启动函数,字符型 开启参数,字符型 线程销毁函数,字符型 销毁参数)

你的参数,带上了吗,带上了吗,又带上吗?没带吧?出事了哈
回复 支持 反对

使用道具 举报

发表于 2012-6-26 14:04:20 | 显示全部楼层
线程句柄=线程.扩展开启("多开自动打怪模版.自动打怪","","多开自动打怪模版.大漠解绑","")   
看看吧。 线程里都必须有参数的,没参数也必须带上2个引号“”。。。 改成我上面的语句吧!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-6-26 14:23:50 | 显示全部楼层
谢谢各位大神 !马上试试去!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-6-26 14:35:47 | 显示全部楼层
成功了 !谢谢各位大神!
回复 支持 反对

使用道具 举报

发表于 2012-7-4 01:41:38 | 显示全部楼层
学习了,代码拿来研究下
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

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

GMT+8, 2024-6-1 21:47 , Processed in 0.043499 second(s), 23 queries .

Powered by 海安简单软件服务部

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

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