金猪脚本(原飞猪脚本)以按键精灵教学为主,涉及UiBot,Python,Lua等脚本编程语言,教学包括全自动办公脚本,游戏辅助脚本,引流脚本,网页脚本,安卓脚本,IOS脚本,注册脚本,点赞脚本,阅读脚本以及网赚脚本等各个领域。想制作脚本和学习按键精灵的朋友可以添加按键精灵学习交流群:554127455 学习路上不再孤单,金猪脚本伴你一同成长.

游戏吸引人的地方在于他的不确定性,有可能赶路的时候顺手干掉一个野怪,居然爆出了屠龙宝刀(→_→),但是脚本不同,我们希望的是:他能完全按照我们的逻辑进行,就算偏离了后也能自动扭正回来,继续当前的逻辑。

脚本的稳定性是所有作者最关心的问题,可能你的脚本能运行1个小时,2个小时,但是由于各种因素,甚至有的并不是因为你脚本的问题而产生的逻辑进行不下去的情况,最典型的例子就是网络延时的弹窗,当然这个要处理很简单,因为他属于可预测的问题(游戏本身的),只需要在每一个含有联网操作的地方都加上判定即可(写一个函数大家一起用)。但是有一类是无法预测的,比如有的游戏会有全服公告的喇叭,时不时就出现一次,即使他只出现一会也会影响我们的判定,一个判定的错误会导致一连串的错误,导致游戏实际状态和我们逻辑处理到的地方不一致,然后。。。就没有然后了,等着用户发现并吐槽你吧。

对于这类型的问题:先来分析一下第一种处理方法----在所有的操作循环中加入判定,看看代码:Dim 计数器 = 0

Do

If CmpColorEx("当前界面特征",0.9)=1 Then

Tap 相应功能的位置

End If

Delay 100

If CmpColorEx("操作之后的界面特征",0.9)=1 Then

Exit Do

End If

If 计数器 > 50 Then

TracePrint "超时了"

Call 超时处理()

Else

计数器= 计数器+1

End If

Loop

复制代码

代码的功能很简单,就是一次操作使用的循环,先寻找当前界面你需要点击的位置(找色比色找图都行),点击之后寻找此次操作产生的响应,比如出现弹窗什么的,然后开始寻找此弹窗特点,寻找到就说明此次操作成功,可以退出此循环,这就是这段代码的功能,而后面的计数器则是为了防止有一些特殊情况,产生两个特征图都找不到,脚本卡死在这个循环里,超时之后我们可以在超时处理函数里做重启游戏之类的操作。

分析完了功能之后,我们再来分析一下优缺点,优点显而易见,基本能处理所有我们预测不到的问题,并且超时时间可以调整,添加的位置很自由,超时的处理方式也可以自己设置。缺点就是工作量大,一个脚本可能含有大量的循环,他们或多或少有点区别,这段代码没法复用。

好了,我们再来看看第二种处理方式----多线程检测,直接看代码:Thread.SetShareVar("进度值",0)

Dim 超时 = 8 //秒

Dim 主逻辑线程

Function 主逻辑函数()

Do

Dim 任务时间 = Cint(Rnd()*5)+5

Delay 任务时间 * 1000

Thread.SetShareVar "进度值", Thread.GetShareVar("进度值") + 1

TracePrint "此次任务完成,使用了"&任务时间&"秒,当前进度为:"&Thread.GetShareVar("进度值")&",重新计数"

Loop

End Function

Function 超时处理()

TracePrint "此次任务耗时超过"&超时&"秒,等待5秒后重新启动,继续上次的进度"

Thread.Stop (主逻辑线程)

Delay 5000

主逻辑线程 = Thread.Start(主逻辑函数)

End Function

Function 判断超时函数()

Dim 判定计数 = 0

Do

Dim 初始进度 = Thread.GetShareVar("进度值")

Delay 1000

If 初始进度 = Thread.GetShareVar("进度值") Then

判定计数 = 判定计数 + 1

TracePrint "超时计数器:"&判定计数

Else

判定计数 = 0

End If

If 判定计数 >= 8 Then

超时处理()

判定计数 = 0

End If

Loop

End Function

主逻辑线程 = Thread.Start(主逻辑函数)

Call 判断超时函数()

复制代码

使用多线程来做定时,我们需要对任务时间做分析来设定超时时间,上面的代码中,设置每个任务的时间使用一个随机延时5-10秒,在多线程检测中,如果一个任务处理超过8秒,我们就认定这个任务超过了预计的时间,有可能发生问题了(卡在某个地方之类的),那么我们直接做超时处理。我们来看看处理的结果:

继续讨论优缺点,优点是处理简单,通过一个共享变量在游戏线程中变动,而超时判断线程中检测此变动来判定是否卡住,只算单个任务或者全部任务的总耗时,偏差小(一个任务如果偏差1-10秒,当有10种任务时,我们用第一种方式可能会允许100秒的超时,但是实际上平均时间只有50秒,我们计算总耗时可以设定70秒,偏差相对较小,在任务越多,耗时差距越大时候越明显),缺点就是可控性差,甚至无法针对一个任务中的一部分操作做超时检测。

两种方法各有优缺点,用哪种全看你自己的需求和习惯,实在不好决定的话。。。。。两种一起用吧!不信你的脚本还不稳定!

python和按键精灵哪个稳定_按键精灵教程,学了这个你也能做出稳定的脚本相关推荐

  1. 安卓按键精灵_[按键精灵教程]学了这个你也能做出稳定的脚本

    金猪脚本(原飞猪脚本)以按键精灵教学为主,涉及UiBot,Python,Lua等脚本编程语言,教学包括全自动办公脚本,游戏辅助脚本,引流脚本,网页脚本,安卓脚本,IOS脚本,注册脚本,点赞脚本,阅读脚 ...

  2. 按键精灵定义全局变量_按键精灵中如何定义和使用变量

    展开全部 按键的变量一般不用专门定义. 初始赋值的时候会自动定义为最适e69da5e887aa62616964757a686964616f31333365663466合的变量. 你的语句大概如下: a ...

  3. python多点找色找图_[按键精灵教程]带你了解多点找色、多点比色

    金猪脚本(原飞猪脚本)以按键精灵教学为主,涉及UiBot,Python,Lua等脚本编程语言,教学包括全自动办公脚本,游戏辅助脚本,引流脚本,网页脚本,安卓脚本,IOS脚本,注册脚本,点赞脚本,阅读脚 ...

  4. python 按键精灵 办公自动化 方便_按键精灵自动化办公插件

    1 懒人办公插件 在之前的院刊中,也分享过懒人办公插件.想必有不少童鞋都有使用过.那么,是什么原因让小编忍不住再次要分享这个插件呢?近期,懒人插件作者 lxj1985 再次更新了插件,更新之后的插件更 ...

  5. 按键精灵定义全局变量_按键精灵2014全局数组变量传递(支持静态与动态)V2

    马上注册,结交更多好友,享用更多功能,让你轻松玩转社区. 您需要 登录 才可以下载或查看,没有帐号?立即注册 x 最新版按键精灵2014已支持数组全局变量了,也就意味着以后多线程不需要再借助插件或字符 ...

  6. 按键精灵post请求_按键精灵安卓版能发送post和get请求吗

    url命令 命令名称: Url.Get 以Get方式访问地址 命令功能: 以Get方式访问网页地址并获取其网页源文件 语法格式: 网页源文件=Url.Get(网页地址) 参数说明: 网页地址:字符串型 ...

  7. python讲1020逆序输出_手把手带你学 Python3(九)| 快速实现数据处理的不二工具(文末有彩蛋)...

    ", line 1, in TypeError: 'int' object is not callable #当然实际代码绝对不能这么写,这里是为了说明函数名也是变量.要恢复abs函数,请重 ...

  8. 触动精灵mysql用法_[触动精灵]触动精灵官方手册流水账2

    如何在资源目录下建立子目录????? writePasteboard.readPasteboard 读写剪贴板 字库工具教程 注意 1.截图一定要用取色器的图 因为这里的图是原样大小 其他的比如实时屏 ...

  9. python if条件思维导图_跟老齐学Python之从if开始语句的征程

    一般编程的教材,都是要把所有的变量类型讲完,然后才讲语句.这种讲法,其实不符合学习的特点.学习,就是要循序渐进的.在这点上,我可以很吹一通了,因为我做过教师,研究教育教学,算是有一点心得的.所以,我在 ...

  10. python中again函数怎么用_《“笨方法”学python 》 once again 20170729

    习题1 第一个程序 ## 问题 怎么让脚本只打印一行 管道!| head -n 1 --求助rd攀攀 习题4 变量和命名 =是等于,作用是为东西取名,==检查左右两边是否相等 下划线字符 在变量中被用 ...

最新文章

  1. SAP S4HANA 使用BP创建供应商报错 - You cannot create a vendor with grouping G001 - 对策
  2. HTML-DIV布局
  3. HighNewTech:低代码(0代码/无代码,无需代码)开发的简介以及如何选择最合适的低代码开发工具
  4. 在CENTOS7下安装kubernetes填坑教程(原创)
  5. GCC对C++标准的实现情况
  6. 删除c++程序中的注释
  7. 浅析C语言中assert的用法(转)
  8. 教你29招,让你在社交,职场上人人对你刮目相看
  9. macosx php环境,MacOSX环境下MAMP安装配置PHP的开发环境
  10. mel滤波器组频率响应曲线_非常好的滤波器知识总结,值得一看!
  11. 地方微信群分享小程序源码,自带流量主独立版
  12. 查看layui的版本号
  13. 摄像头图像分析目标物体大小位置_对智能驾驶系统三种环境传感器布局的冗余关系分析...
  14. kvm虚拟化学习笔记(十)之kvm虚拟机快照备份
  15. Spring.net(一)----Spring.NET框架简介及模块说明
  16. opencv中图像失焦检测
  17. [转]结婚戒指为什么戴在无名指?
  18. PC比电脑好玩的秘密是什么?答案就是因为有这些神奇的网站!
  19. 时钟周期是干什么的?底层原理是什么?
  20. tp-link tl-wr740n 虚拟服务器,TPlinktl-wr740n服务器无响应,路由器上的广域网信号? 爱问知识人...

热门文章

  1. python消息中间件activemq_python 发送和接收ActiveMQ消息的实例
  2. 猫/路由器/网关/交换机的作用与区别
  3. C/C++遍历目录下的所有文件(Windows篇)
  4. 前端FISH框架学习笔记
  5. 解决织梦CMS友情链接的字数个数限制
  6. 快速查找对方IP经典技巧汇总
  7. C++ Web编程实战
  8. 2021qq服务器维护到什么时候,2021QQ扩列下架了吗怎么没了?QQ暂停服务到什么时候...
  9. labview虚拟心电监测系统_虚拟心电监护系统软件设计
  10. Cocos2D:塔防游戏制作之旅(九)