按键精灵脚本运行方法(按键精灵设置自动按键)

按键精灵脚本运行方法(按键精灵设置自动按键)

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

按键精灵脚本运行方法(按键精灵设置自动按键)

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

复制代码

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

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

好了,我们再来看看第二种处理方式—-多线程检测,直接看代码:

复制代码

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

按键精灵脚本运行方法(按键精灵设置自动按键)

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 2022年9月14日 16:02
下一篇 2022年9月14日 16:05

相关推荐

发表回复

登录后才能评论