TC官方合作论坛

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

[已解决] 当前页面找图没找到继续翻页查找后续命令怎么衔接!!!

[复制链接]
跳转到指定楼层
楼主
发表于 2015-9-16 23:30:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上加入TC

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

x
本帖最后由 thy2898762 于 2015-9-16 23:30 编辑

问题如标题,第一次写脚本.希望有大神解答!!找图命令是成功的,,可以准确找到图去实行命令.但是当前页面没有我要找的图,需要翻页继续找图!!怎么去衔接命令!

求大神解答!!!!

下面是我写的脚本!!写到这里就是无法翻页继续找图!!!求大神修正!!!

变量 线程ID,dm,窗口句柄

//启动_热键操作
功能 启动_热键()
    //当用户按下启动脚本热键时先获取游戏的窗口句柄
    //获取置于前端的窗口句柄
    窗口句柄 = dm.GetForegroundFocus()
    调试输出("窗口句柄: " & 窗口句柄)
    如果(窗口句柄>0)
        主窗口绑定(窗口句柄)
    结束
结束

//终止热键操作
功能 终止_热键()
    如果(dm.UnBindWindow() == 1)
        调试输出("解绑成功")
    结束
    线程关闭(线程ID)
结束

//-----------主窗口绑定-----------//
功能 主窗口绑定(句柄)
    变量 dm_ret
    //设置全局路径
    dm.SetPath(获取资源路径("rc:"))
    dm_ret = dm.BindWindow(句柄,"normal","normal","normal",0)
    如果(dm_ret == 1)
        调试输出("绑定成功")
        线程ID=线程开启("执行","")
    否则
        调试输出("绑定失败")
    结束
结束

//从这里开始执行
功能 执行()
    **抢单()
结束

//----------**抢单-------//
功能 **抢单()
    如果(复选框获取状态("复选框0"))
        //按键带开对话框
        dm.KeyPress(71)
        等待(500)
        //将鼠标移动到()
        dm.MoveTo(452,607)
        等待(100)
        //执行鼠标左键单击动作
        dm.LeftClick()
        等待(100)
        //将鼠标移动到()
        dm.MoveTo(600,305)
        等待(100)
        //执行鼠标左键单击动作
        dm.LeftClick()
        等待(300)
        如果(点击领取暗杀() == 1)
            //点击领取暗杀()
            调试输出("成功找到可接任务")
        否则
            调试输出("没有找到可接任务")
            如果(点击领取暗杀() == 0)
                //点击下一页()
                调试输出("已翻页")
            结束
        结束
    结束
结束

//-------------点击领取暗杀--------//
功能 点击领取暗杀()
    变量 x,y,标记 = -1
    //可循环动作
    遍历(变量 i = 0; i < 8; i++)
        //首先查找可接单的图片
        //制作成透明图
        dm.FindPic(670,341,751,545,"111.bmp","050505",0.9,0,x,y)
        如果(x > 0)
            //说明有可接受任务
            dm.MoveTo(x,y)
            等待(100)
            //执行鼠标动作
            dm.LeftClick()
            等待(100)
            //鼠标移动
            dm.MoveTo(940,605)
            等待(100)
            //鼠标点击
            dm.LeftClick()
            等待(300)
            //鼠标再次移动
            dm.MoveTo(640,520)
            等待(100)
            //鼠标点击
            dm.LeftClick()
            等待(500)
            标记 = 1
        否则
            跳出
        结束  
    结束
    返回 标记
结束

//---------点击下一页------//
功能 点击下一页()
    //可循环动作
    遍历(变量 i = 0; i < 100; i++)
        //鼠标移动
        dm.MoveTo(765,574)
        等待(100)
        //鼠标左键单击
        dm.LeftClick()
        等待(100)
    结束
结束

功能 天刀_初始化()
    //这里添加你要执行的代码
    //脚本打开时,窗体进行初始化会执行这个事件
    注册大漠插件()
结束
//-------------注册大漠插件---------//
功能 注册大漠插件()
    变量 版本
    如果(注册插件(获取资源路径("rc:dm.dll"),真))
        调试输出("大漠插件注册成功")
        //创建大漠对象
        dm = 插件("dm.dmsoft")
        版本 = dm.ver()
        调试输出("当前大漠插件注册成功: " & 版本)
    否则
        调试输出("大漠插件注册失败")
    结束
结束


回复

使用道具 举报

沙发
发表于 2015-9-17 08:16:57 | 只看该作者
看看我帮你改的行不行
功能 **抢单()
    如果(复选框获取状态("复选框0"))
        dm.KeyPress(71)
        等待(500)
        鼠标动作(452,607)
        鼠标动作(600,305)
    结束
    循环(真)
        等待(1000)
        变量 是否成功=点击领取暗杀()
        如果(是否成功==1)
            消息框("成功找到可接任务")
            跳出
        否则
            点击下一页()
        结束
    结束
结束

功能 点击领取暗杀()
    变量 x,y,标记 = -1
    dm.FindPic(670,341,751,545,"111.bmp","050505",0.9,0,x,y)
    如果(x > 0)
        鼠标动作(x,y)
        鼠标动作(940,605)
        鼠标动作(640,520)
        标记 = 1
    结束  
    返回 标记
结束

功能 点击下一页()
    遍历(变量 i = 0; i < 100; i++)
        鼠标动作(765,574)
    结束
结束

功能 鼠标动作(坐标X,坐标Y)
    dm.MoveTo(坐标X,坐标Y)
    等待(100)
    dm.LeftClick()
    等待(100)
结束
回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2015-9-18 04:20:07 | 只看该作者
爱上老公 发表于 2015-9-17 08:16
看看我帮你改的行不行
功能 **抢单()
    如果(复选框获取状态("复选框0"))

谢谢了  在你编写的脚本中不但解决了问题  还学到了不少简洁的命令  
回复 支持 反对

使用道具 举报

地板
 楼主| 发表于 2015-9-18 05:25:52 | 只看该作者
本帖最后由 thy2898762 于 2015-9-18 05:45 编辑
爱上老公 发表于 2015-9-17 08:16
看看我帮你改的行不行
功能 **抢单()
    如果(复选框获取状态("复选框0"))

变量 线程ID,dm,窗口句柄

//启动_热键操作
功能 启动_热键()
    //当用户按下启动脚本热键时先获取游戏的窗口句柄
    //获取置于前端的窗口句柄
    窗口句柄 = dm.GetForegroundFocus()
    调试输出("窗口句柄: " & 窗口句柄)
    如果(窗口句柄>0)
        主窗口绑定(窗口句柄)
    结束
结束

//终止_热键操作
功能 终止_热键()
    如果(dm.UnBindWindow() == 1)
        调试输出("解绑成功")
    结束
    线程关闭(线程ID)
结束

//-----------主窗口绑定-----------//
功能 主窗口绑定(句柄)
    变量 dm_ret
    //设置全局路径
    dm.SetPath(获取资源路径("rc:"))
    dm_ret = dm.BindWindow(句柄,"normal","normal","normal",0)
    如果(dm_ret == 1)
        调试输出("绑定成功")
        线程ID=线程开启("执行","")
    否则
        调试输出("绑定失败")
    结束
结束

//从这里开始执行
功能 执行()
    **抢单()
结束

//----------**抢单-------//
功能 **抢单()
    变量 是否成功
    如果(复选框获取状态("复选框0"))
        dm.KeyPress(71)
        等待(300)
        鼠标动作(452,607)
        鼠标动作(600,305)
    结束
    循环(真)
        等待(300)
        是否成功=点击领取暗杀()
        如果(是否成功==1)
            消息框("成功找到可接任务")
            跳出
        否则
            循环(真)
                等待(300)
                是否成功=点击下一页()
                如果(是否成功==1)
                    跳出
                否则
                    调试输出("没有找到白色")
                    鼠标动作(991,273)
                    消息框("没有可接任务")
                    跳出
                结束
            结束
        结束
    结束
结束

功能 点击下一页()
    变量 x,y
    dm.FindColor(746,571,755,587,"ffffff-000000",0.95,0,x,y)
    如果(x > 0)
        鼠标动作(750,579)
        调试输出("找到白色")
    结束
结束

功能 点击领取暗杀()
    变量 x,y,标记 = -1
    dm.FindPic(670,341,751,545,"111.bmp","050505",0.9,0,x,y)
    如果(x > 0)
        鼠标动作(x,y)
        鼠标动作(940,605)
        鼠标动作(640,520)
        标记 = 1
    结束  
    返回 标记
结束

功能 鼠标动作(坐标X,坐标Y)
    dm.MoveTo(坐标X,坐标Y)
    等待(50)
    dm.LeftClick()
    等待(50)
结束


功能 天刀**抢单_初始化()
    //这里添加你要执行的代码
    //脚本打开时,窗体进行初始化会执行这个事件
    注册大漠插件()
结束

//-------------注册大漠插件---------//
功能 注册大漠插件()
    变量 版本
    如果(注册插件(获取资源路径("rc:dm.dll"),真))
        调试输出("大漠插件注册成功")
        //创建大漠对象
        dm = 插件("dm.dmsoft")
        版本 = dm.ver()
        调试输出("当前大漠插件注册成功: " & 版本)
    否则
        调试输出("大漠插件注册失败")
    结束
结束






我学习你利用循环命令去点击下一页    下一页也改成找色点击(准确找到颜色)   
但是脚本调试到最后(在没领取暗杀任务   和    还有下一页  的情况下)他会翻到第2页   
但是马上会弹出(没有可接任务)这个框框
但是把框框点掉 脚本还在继续 不停 重复 执行下面这段命令!!
帮我看看那里出的毛病!!新手第一次写脚本!!在疯狂学习中!!求大神您费心指教了!!     
还有我想加个暂停热键进去该怎么写啊???


循环(真)
                等待(300)
                是否成功=点击下一页()
                如果(是否成功==1)
                    跳出
                否则
                    调试输出("没有找到白色")
                    鼠标动作(991,273)                       {注释:这是关掉游戏里面接受任务界面的命令}
                    消息框("没有可接任务")
                    跳出
                结束
                    消息框("没有可接任务")
                    跳出
                结束


回复 支持 反对

使用道具 举报

5#
发表于 2015-9-18 07:04:06 | 只看该作者
  是否成功=点击下一页()
如果(是否成功==1)

你怎么知道 “点击下一页()”这个功能一定会返回的1?
如果它始终不返回1,你的循环套循环,能停下才怪,
可以这样:
功能 点击下一页()
    变量 x,y
    变量 妞妞=dm.FindColor(746,571,755,587,"ffffff-000000",0.95,0,x,y)
    如果(x > 0)
        鼠标动作(750,579)
        调试输出("找到白色")
        返回 妞妞
    结束
结束
回复 支持 反对

使用道具 举报

6#
发表于 2015-9-18 07:09:30 | 只看该作者
多看看别人的代码,对你有提高
回复 支持 反对

使用道具 举报

7#
 楼主| 发表于 2015-9-18 07:40:33 | 只看该作者
爱上老公 发表于 2015-9-18 07:09
多看看别人的代码,对你有提高

我也前天才是刚开始学写的   这2天都在疯狂逛论坛学习   很多东西都在学习消化当中  不过还是感激谢谢  你就像俺老师手把手教俺了

回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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

关闭

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

GMT+8, 2025-9-21 21:59 , Processed in 0.171168 second(s), 23 queries .

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

© 2001-2013 Comsenz Inc.

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