(多图警告)利用按键精灵编写超简单的抽fgo友情点的脚本v2

您所在的位置:网站首页 按键精灵收费模板 (多图警告)利用按键精灵编写超简单的抽fgo友情点的脚本v2

(多图警告)利用按键精灵编写超简单的抽fgo友情点的脚本v2

2024-04-08 21:31| 来源: 网络整理| 查看: 265

       没想到有这么多御主被手动抽友情点逼疯了,应大家回应我就试着写个教程(准确的说,算不上教程)

       说实话,除了洗脸以外,谁会无聊到抽友情池呢?不是无聊只是没绿方块QAQ

新量子礼装又是5000绿方块

       这个视频BV1hE411N7oN里的脚本是ver.1,无法绕开抽到小安卡住的情况,现在这版本ver.2逻辑上是能避免的。

       因为没用到大漠插件(因为懒得折腾,就一个抽点功能哪里需要这么麻烦,还要收费,免费的不香嘛),每个人直接复制代码并不可行!!!!所以就拉出来写一个专栏(视频不太方便一步一步的对照看),方便各位御主修改使用。原理上来说,能把识图函数整懂了,写个刷本的脚本也许不是什么难事。这是我第一次写教程……如有不到位之处,还望指出。

需要用到的软件:mumu模拟器,按键精灵

好啦,直入正题,先把我的代码模板放出来吧。

———分割线———

FindPic 0,0,屏幕的宽,屏幕的高,"Attachment:\召唤10次.bmp",0.9,intX,intY

If intX > 0 And intY > 0 Then

rndX=Int((intX+召唤10次截图的宽- intX + 1) * Rnd + intX)

rndY=Int((intY+召唤10次截图的高 - intY + 1) * Rnd + intY)

MoveTo rndX, rndY

Delay 10

LeftClick 1

rndT=Int((2000- 1000 + 1) * Rnd + 1000)

Delay rndT

Rem 标记

Do

FindPic 0,0,屏幕的宽,屏幕的高,"Attachment:\决定.bmp",0.9,intX,intY

If intX > 0 And intY > 0 Then 

rndX=Int((intX+决定的的宽- intX + 1) * Rnd + intX)

rndY=Int((intY+决定的的高- intY + 1) * Rnd + intY)

MoveTo rndX, rndY

Delay 10

LeftClick 1

rndT=Int((6000- 5000+ 1) * Rnd + 5000)

Delay rndT

LeftClick 1

Delay 2000

 End If

    FindPic 0,0,屏幕的宽,屏幕的高,"Attachment:\继续进行10次召唤.bmp",0.9,intX,intY

If intX > 0 And intY > 0 Then 

rndX=Int((intX+继续进行10次召唤的的宽- intX + 1) * Rnd + intX)

rndY=Int((intY+继续进行10次召唤的的高- intY + 1) * Rnd + intY)

MoveTo rndX, rndY

Delay 10

LeftClick 1

End If

loop

End If

Goto 标记

———分割线———

不管三七二十一,先把这串东西复制下来,再粘贴到按键精灵的源文件,接下来就是怎么把这个转换成自己能用的内容啦,你一定可以的(ง •_•)ง

先点源文件再粘贴进去,不然贴不进去

单击抓抓

点击弹出小框的图像(预先打开mumu并且fgo的抽友情点界面,mumu一定不要调整窗口大小)

记得不要让模拟器被别的窗口挡住了

点击小框的截图按钮,再把小框最大化,找到“召唤10次”按钮,点击鼠标左键再拖动鼠标把他框住,此时会弹出个菜单,选择“位图另存为”,把“召唤10次”按钮的截图命名为“召唤10次”并保存,用相同的方法处理“决定”按钮和“继续进行10次召唤”。一定一定一定不要截多了,宁可少一些,不然到时候脚本点击的时候有可能会点出去。还有保存名称要一样。

边写专栏截图边教程截图,好像会套娃2333像红色框那样框住,只不过按键精灵里操作是虚线不是红色的,方便大家看

同理把剩下两个按钮截出来,没啥好说的

最后这个可以比我截的要少一圈,我截的比较大了

点击附件按钮,点击添加,把图片附进去,以防按键精灵抽风

祝贺你!完成以上步骤已经完成一半了

接下来就是对代码的参数修改

这里介绍一下按键精灵的随机函数,rnd函数,一听这个就头晕的御主可以跳过rnd函数的介绍。

一般来说,编程软件都会有对其内嵌函数的提示或者帮助,按键精灵也有

按键精灵对rnd函数的介绍

要产生指定范围的随机整数,请使用以下公式:

Int((upperbound - lowerbound + 1) * Rnd + lowerbound)这里, upperbound 是此范围的上界,而 lowerbound 是此范围内的下界。

例如要产生0~100的随机数,函数就得写成Int((100 - 0 + 1) * Rnd + 0)

而按键精灵识图后,得到的是图片的左上角的坐标,也就是rnd函数中的下界,我们还知道图片的长宽,把横坐标和纵坐标分别加上所截图片的长与宽,不就得到的rnd函数的上界了。

跳过rnd函数介绍的御主们看过来啦,总之得到一个这样的结论

rndX=Int((intX+截图的宽- intX + 1) * Rnd + intX)

rndY=Int((intY+截图的高- intY + 1) * Rnd + intY)

我们就去测截图的宽和高,找到图片的保存位置,右击图片,在弹出的菜单点击属性,点击详细信息,就可以找到了所截图片的宽和高,但是为了避免截图时的误差我们把宽和高的数值减少20~40像素,所减数值的最大不宜超过原数值的一半。

这个图片的宽高就是264,87。我这里取240,50

示例:

rndX=Int((intX+召唤10次截图的宽- intX + 1) * Rnd + intX)

rndY=Int((intY+召唤10次截图的高 - intY + 1) * Rnd + intY)

所以用处理后的数值替换掉模板里的文字,那么我写的点击“召唤10次”的函数为:

rndX=Int((intX+240- intX + 1) * Rnd + intX)

rndY=Int((intY+50 - intY + 1) * Rnd + intY)

把剩下两张图片的宽高输进代码模板里。

最后一个需要修改的就是这里

FindPic 0,0,屏幕的宽,屏幕的高,"Attachment:\召唤10次.bmp",0.9,intX,intY

屏幕的宽和高就是你屏幕的分辨率,例如我的屏幕分辨率是1920*1080,所以我的写为

分辨率1920*1080

FindPic 0,0,1920,1080,"Attachment:\召唤10次.bmp",0.9,intX,intY

接下来就点下调试,切到模拟器界面,按下F10(F12暂停),享受成功的喜悦吧~~

最后强调一次,千万千万不要随意调整mumu的默认窗口大小,因为调了之后,图片大小会变化,使得按键精灵识别不出来,就又得重新截图和修改参数啦,岂不是很恼人。

后言:

       我认为我在代码结构上精简了下,通过增加1次跳转避免抽到小安会卡住的尴尬,但是由于软件识图普遍问题就是所需时间确实较长,如果改成识字会变快不少。也因为这个原因,我只使用三次识图,能不用的地方就不用,转而使用延时来解决。

      但是按键精灵自身的识图偶尔的识别不出来,不一定是自己改的不对,纯粹是软件本身的问题(所以还是要用大漠插件才稳定的嘛,不过要收费),先和模板对照一下,确认无误后把代码保存好后重新打开按键精灵,这个问题就解决了。

      自动清理低星从者的功能我就不写了,这个手动清还是很轻松的吧。当然,我欢迎各路英雄来一起完善这个抽友情池的辅助。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3