TC官方合作论坛

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

[问题] 大神看看啊 谢谢您 在线等 秒采纳

[复制链接]
跳转到指定楼层
楼主
发表于 2014-9-10 01:32:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上加入TC

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

x
功能()
循环(真)

选择()
条件1
条件2
跳出
循环结束
调试输出(“你好”)
功能结束()
就是这样的语句 我在条件语句里 跳出 应该是直接跳出了循环  最后调试输出 应该这个功能就运行完毕了把? 为什么 用了跳出 还是 在循环语句里
回复

使用道具 举报

沙发
发表于 2014-9-10 02:00:11 | 只看该作者
跳出是在选择语句里面的话 必须要条件2符合才会跳出的.
回复 支持 反对

使用道具 举报

板凳
发表于 2014-9-10 02:16:54 | 只看该作者
你没有写条件他当然会一直循环了!   只有满足了条件2才会执行条件2里面的代码
回复 支持 反对

使用道具 举报

地板
 楼主| 发表于 2014-9-10 02:18:37 | 只看该作者
a765998143 发表于 2014-9-10 02:16
你没有写条件他当然会一直循环了!   只有满足了条件2才会执行条件2里面的代码 ...

功能 登录检测()
    登录检测线程
    调试输出("登录头")
    Liuxt.记录("登录功能:“时刻准备着为您服务”")
    dm=com("dm.dmsoft")
    dm.SetPath(辅助.获取资源路径("rc:"))
    变量 服务器X,服务器Y,登录句柄,机制,intX,intY,游戏路径
    游戏路径=浏览框.获得("浏览框0")
    大厅句柄 = dm.FindWindowByProcess("LolClient.exe","","PVP.net 客户端")
   
    循环(大厅句柄<=0)
        
        辅助.等待(500)
        //没有打开
        登录句柄 = dm.FindWindowByProcess("Client.exe","","英雄联盟登录程序")
        如果(登录句柄==0)
            Liuxt.记录("没有运行登录界面")
            机制="没有打开"
        如果结束
        辅助.等待(500)
        //已经打开
        登录句柄 = dm.FindWindowByProcess("Client.exe","","英雄联盟登录程序")
        如果(登录句柄>0)
            Liuxt.记录("登录界面已打开")
            dm.SetWindowState(登录句柄,8)
            dm.MoveWindow(登录句柄,0,0)
            辅助.等待(5000)
            
        如果结束
        辅助.等待(500)
        //等待登录
        dm=com("dm.dmsoft")
        dm.SetPath(辅助.获取资源路径("rc:"))
        登录帐号= dm.FindPic(969,501,1070,528,"zhdl.bmp","000000",0.9,0,intX,intY)
        调试输出("等待登录"&登录帐号)
        如果(登录帐号>=0)
            Liuxt.记录("准备登录帐号")
            机制="等待登录"
        如果结束
        辅助.等待(500)
        //服务器选择
        服务器选择= dm.FindPic(1159,681,1235,705,"fwqxz.bmp","000000",0.9,0,intX,intY)
        调试输出("服务器选择"&服务器选择)
        调试输出(服务器选择)
        如果(服务器选择>=0)
            Liuxt.记录("准备选择服务器")
            机制="服务器选择"
        如果结束
        //进入大厅
        进入大厅= dm.FindPic(49,138,137,167,"dlfwq.bmp","000000",0.9,0,intX,intY)
        调试输出("进入大厅"&进入大厅)
        如果(进入大厅>=0)
            Liuxt.记录("登录服务器")
            机制="进入大厅"
            
        如果结束
        
        选择(机制)
            条件 "没有打开":
            进程.打开(游戏路径)
            辅助.等待(5000)
            
            
            条件 "等待登录":
            //快捷登录
            dm.MoveTo(1017,556)
            辅助.等待(1000)
            鼠标.左键单击(1)
            辅助.等待(1000)
            dm.MoveTo(1017,513)
            辅助.等待(1000)
            鼠标.左键单击(1)
            
            条件 "服务器选择":
            Liuxt.记录("服务器列表")
            dm=null
            dm=com("dm.dmsoft")
            dm.MoveTo(1192,690)
            辅助.等待(1000)
            鼠标.左键单击(1)
            辅助.等待(2000)
            //选择服务器
            dm.MoveTo(服务器X,服务器Y)
            辅助.等待(1000)
            鼠标.左键单击(1)
            辅助.等待(2000)
            
            条件 "进入大厅":
            //登录服务器
            dm.MoveTo(950,696)
            辅助.等待(1000)
            鼠标.左键单击(1)
               跳出
            
            条件 "绑定登录界面":
            dm.SetWindowState(登录句柄,8)
            登录界面绑定 = dm.BindWindowEx(登录句柄,"normal","normal","normal","",0)
            如果(登录界面绑定==1)
                Liuxt.记录("登录界面绑定成功")
                辅助.等待(100)
                dm.MoveWindow(登录句柄,0,0)
                辅助.等待(100)
            否则
                Liuxt.记录("请关闭防火墙再试")
            如果结束
        选择结束
    循环结束
    Liuxt.记录("登录功能:“我去休息了”")
    调试输出(登录检测线程)
    辅助.等待(500)
    线程.关闭句柄(登录检测线程)
    辅助.等待(500)
    线程.开启("Liuxt.大厅检测","")
   
功能结束
//////////////////////////////////////////////////////////////////////////////

功能 大厅检测()
    intX,intY,机制,i=0,大厅句柄
    dm=com("dm.dmsoft")
    dm.SetPath(辅助.获取资源路径("rc:"))
    调试输出("大厅头")
    循环(真)
        辅助.等待(500)
        //大厅不存在
        大厅句柄 = dm.FindWindowByProcess("LolClient.exe","","PVP.net 客户端")
        如果(大厅句柄==0)
            Liuxt.记录("未检测到大厅")
            机制="大厅不存在"
        如果结束
        辅助.等待(500)
        //大厅存在
        如果(大厅句柄>0)
            Liuxt.记录("检测到大厅,验证大厅是否绑定")
            大厅是否绑定 = dm.IsBind(大厅句柄)
            如果(大厅是否绑定==0)
                Liuxt.记录("未绑定大厅")
                机制="大厅未绑定"
            如果结束
        如果结束
        辅助.等待(500)
        //重新连接
        重新连接 = dm.FindPic(607,446,673,464,"cxljl.bmp","000000",0.9,0,intX,intY)
        如果(重新连接>=0)
            Liuxt.记录("重新连接")
            机制="重新连接"
        如果结束
        辅助.等待(500)
        //等待排队
        服务器已满 = dm.FindPic(469,308,545,333,"fwqym.bmp","000000",0.9,0,intX,intY)
        如果(服务器已满>=0)
            Liuxt.记录("服务器已满,正在排队")
            机制="等待排队"
        如果结束
        辅助.等待(500)
        //正在首页
        大厅首页=dm.FindPic(607,22,663,49,"play.bmp","000000",0.9,0,intX,intY)
        如果(大厅首页>=0)
            Liuxt.记录("进入大厅,准备匹配")
            机制="正在首页"
        如果结束
        辅助.等待(500)
        //结算界面
        结算界面 = dm.FindPic(873,722,943,748,"dtjs.bmp","000000",0.9,0,intX,intY)
        如果(结算界面>=0)
            Liuxt.记录("结算完毕,准备返回大厅")
            机制="结算界面"
        如果结束
        辅助.等待(500)
        //正在列队
        是否列队=dm.FindPic(535,20,601,64,"ldcg.bmp","000000",0.9,0,intX,intY)
        如果(是否列队>=0)
            Liuxt.记录("正在匹配队友")
            机制="正在列队"
        如果结束
        辅助.等待(500)
        //列队惩罚
        列队等待=dm.FindPic(350,281,448,305,"ldsb.bmp","000000",0.9,0,intX,intY)
        如果(列队等待>=0)
            Liuxt.记录("因秒退被惩罚,等待惩罚结束")
            机制="列队惩罚"
        如果结束
        辅助.等待(500)
        //找到对手
        匹配对手=dm.FindPic(439,297,527,324,"zdds.bmp","000000",0.9,0,intX,intY)
        如果(匹配对手>=0)
            Liuxt.记录("匹配队伍完成")
            机制="找到对手"
        如果结束
        辅助.等待(500)
        //选择英雄
        英雄选择界面=dm.FindPic(493,62,609,102,"zjxzyx.bmp","000000",0.9,0,intX,intY)
        如果(英雄选择界面>=0)
            Liuxt.记录("进入英雄选择界面")
            机制="选择英雄"
        如果结束
        辅助.等待(500)
        //等待开局
        是否开局=dm.FindPic(424,70,538,95,"ddkj.bmp","000000",0.9,0,intX,intY)
        如果(是否开局>=0)
            Liuxt.记录("进入英雄选择界面")
            机制="等待开局"
        如果结束
        辅助.等待(500)
        //进入倒计时
        倒计时=dm.FindPic(588,65,759,100,"djs.bmp","000000",0.9,0,intX,intY)
        如果(是否开局>=0)
            Liuxt.记录("进入倒计时")
            机制="进入倒计时"
        如果结束
        
        选择(机制)
            条件 "大厅不存在":
            Liuxt.记录("未检测到大厅,正在准备登录游戏")
            登录检测线程=线程.开启("Liuxt.登录检测","")
         跳出
            
            条件 "大厅未绑定":
            dm.SetWindowState(大厅句柄,1)
            dm=com("dm.dm.soft")
            大厅绑定 =dm.BindWindowEx(大厅句柄,"gdi2","dx.mouse.position.lock.api|dx.mouse.position.lock.message|dx.mouse.clip.lock.api|dx.mouse.input.lock.api|dx.mouse.state.api|dx.mouse.api|dx.mouse.cursor","dx.keypad.input.lock.api|dx.keypad.state.api|dx.keypad.api","dx.public.active.message",101)
            如果(大厅绑定==1)
                Liuxt.记录("大厅绑定成功")
                辅助.等待(2000)
            否则
                Liuxt.记录("绑定失败请重试")
                辅助.退出()
            如果结束
            
            
            条件 "重新连接":
            辅助.等待(1000)
            dm.MoveTo(636,453)
            辅助.等待(1000)
            dm.LeftDoubleClick
            辅助.等待(5000)
            
            条件 "等待排队":
            循环(真)
                辅助.等待(3000)
                服务器已满 = dm.FindPic(469,308,545,333,"fwqym.bmp","000000",0.9,0,intX,intY)
                如果(服务器已满>=0)
                    Liuxt.记录("正在排队,已等待:"&i++)
                    
                否则
                    Liuxt.记录("已进入大厅首页")
                    跳出
                如果结束
            循环结束
            
            
            条件 "正在首页":
            Liuxt.记录("进入大厅,准备匹配")
            //返回大厅
            dm=com("dm.dm.soft")
            辅助.等待(1000)
            dm.MoveTo(75,46)
            辅助.等待(1000)
            dm.LeftDoubleClick
            //play
            辅助.等待(1000)
            dm.MoveTo(633,38)
            辅助.等待(1000)
            dm.LeftDoubleClick
            //玩家对战
            辅助.等待(1000)
            dm.MoveTo(310,122)
            辅助.等待(1000)
            dm.LeftDoubleClick
            //统治战场
            辅助.等待(1000)
            dm.MoveTo(463,177)
            辅助.等待(1000)
            dm.LeftDoubleClick
            //水晶之痕
            辅助.等待(1000)
            dm.MoveTo(663,164)
            辅助.等待(1000)
            dm.LeftDoubleClick(1)
            //匹配模式
            辅助.等待(1000)
            dm.MoveTo(894,164)
            辅助.等待(1000)
            dm.LeftDoubleClick
            //单人匹配
            辅助.等待(1000)
            dm.MoveTo(736,715)
            辅助.等待(1000)
            dm.LeftDoubleClick
            
            
            条件 "结算界面":
            ///需要获取名次,胜负,获得金币。
            //
            //
            Liuxt.记录("结算完毕,准备返回大厅")
            //检测再来一局是否可以点击
            dm=com("dm.dm.soft")
            再来一局 =dm.FindPic(1081,724,1156,749,"zlyjl.bmp","000000",0.9,0,intX,intY)
            如果(再来一局>=0)
                //点击再来一局
                辅助.等待(1000)
                dm.MoveTo(1112,738)
                辅助.等待(1000)
                dm.LeftDoubleClick
            否则
                //点击回到大厅
                辅助.等待(1000)
                dm.MoveTo(913,740)
                辅助.等待(1000)
                dm.LeftDoubleClick
            如果结束
            
            
            条件 "正在列队":
            Liuxt.记录("正在匹配队伍")
            Liuxt.记录("匹配队伍中,以等待:"&i++)
            条件 "找到对手":
            Liuxt.记录("已经找到对手,准备进入英雄选择界面")
            //进入英雄界面
            dm=com("dm.dm.soft")
            dm.MoveTo(743,479)
            辅助.等待(1000)
            dm.LeftDoubleClick
            辅助.等待(3000)
            条件 "列队惩罚":
            循环(真)
                辅助.等待(3000)
                dm=com("dm.dm.soft")
                列队等待=dm.FindPic(350,281,448,305,"ldsb.bmp","000000",0.9,0,intX,intY)
                如果(列队等待<0)
                    Liuxt.记录("惩罚结束,准备匹配")
                    跳出
                否则
                    Liuxt.记录("等待惩罚结束,已等待:"&i++)
                如果结束
            循环结束
            条件 "选择英雄":
            //点击英雄查找框
            辅助.等待(1000)
            dm.MoveTo(911,133)
            辅助.等待(500)
            dm.LeftDoubleClick
            辅助.等待(500)
            //输入英雄名称
            dm.SendString(大厅句柄,英雄)
            辅助.等待(1000)
            //检测英雄是否可选
            dm=com("dm.dm.soft")
            英雄可选=dm.FindColor(296,186,351,231,"263ec9-000000",1.0,0,intX,intY)
            如果(英雄可选==1)
                Liuxt.记录("英雄被抢,选择随机英雄")
                dm=com("dm.dm.soft")
                //点击英雄查找框文本
                辅助.等待(1000)
                dm.MoveTo(911,133)
                辅助.等待(500)
                dm.LeftDoubleClick
                辅助.等待(500)
                //删除文本
                dm.KeyPress(8,10)
            如果结束
            //确认英雄
            dm=com("dm.dm.soft")
            dm.MoveTo(867,510)
            辅助.等待(500)
            dm.LeftDoubleClick
            辅助.等待(5000)
            
            
            条件 "等待开局":
            Liuxt.记录("等待队友选择英雄:"&i++)
            条件 "进入倒计时":   
            Liuxt.记录("等待开局倒计时:"&i++)
        选择结束
    循环结束
    调试输出("大厅尾")
功能结束
回复 支持 反对

使用道具 举报

5#
发表于 2014-9-10 02:21:51 | 只看该作者
机制有没有设置全局变量
回复 支持 反对

使用道具 举报

6#
 楼主| 发表于 2014-9-10 02:22:46 | 只看该作者
56995196 发表于 2014-9-10 02:18
功能 登录检测()
    登录检测线程
    调试输出("登录头")

难道不是 跳出循环后 运行功能最后的调试输出就 结束功能了吗  但是 他妈 我没调用 功能 调试输出在打开 大厅都 依旧 跳出输出了 一次 登陆头   那就算了   按照逻辑  可能B功能的代码错了 调用了一次 功能A  但是 出 登陆头  不出登陆尾  这 tm 有是 什么逻辑了
回复 支持 反对

使用道具 举报

7#
发表于 2014-9-10 02:23:10 | 只看该作者
QQ765998143   这里太麻烦了
回复 支持 反对

使用道具 举报

8#
 楼主| 发表于 2014-9-10 02:23:19 | 只看该作者
a765998143 发表于 2014-9-10 02:21
机制有没有设置全局变量

没有
回复 支持 反对

使用道具 举报

9#
发表于 2014-9-10 07:43:12 | 只看该作者
机制
回复

使用道具 举报

10#
发表于 2014-9-10 21:08:15 | 只看该作者

这个一定要顶一下
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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

关闭

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

GMT+8, 2025-9-25 11:59 , Processed in 0.177489 second(s), 23 queries .

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

© 2001-2013 Comsenz Inc.

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