吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 14927|回复: 25
收起左侧

[其他原创] 【按键精灵】全军出击按键精灵发言脚本,快速写脚本的基本框架讲解

  [复制链接]
打字的小强 发表于 2019-4-27 17:05
本帖最后由 打字的小强 于 2020-4-30 08:39 编辑

刚开始的学按键精灵的时候很乱,乱七八糟的,一个脚本几百行上千,不知道封装,很多代码没有复用。写着写着看不懂了。现在把我现在的脚本给大家看下一下,全军出击的引流的脚本,其他引流的也同用这个样子吧,把每次的找图封装,所有的重复的都封装成函数。调试输出也可以封装,这是从果壳王子那里学到的,哈哈,这样的话后面改起来就好改了,知道哪部分搞错了改哪里。不会互相影响的。
3.gif
[Asm] 纯文本查看 复制代码
Import "GK.lua"
Dim jk,gj//定义全局函数,脚本所有的地方都可以用到 
Dim 确认退出,发言内容, 退出游戏, 不重回演习, qq登录 ,与qq好友玩, 点击匹配赛, 开始游戏,广场,飞机,拒绝邀请,新手八天,邀请跳,拒绝消息发送,广场1//定义涂色信息的变量,脚本任何地方都可以用
Sub 图色赋值
//        先定义所有的图色信息数组,后面找图的时候就拿出来用,详情请看果壳gk.full()命令,所有都是多点找色
        拒绝消息发送=array(183,513,322,757,"15BBFE","0|0|15BBFE,1|-6|1171AC,7|-29|18AEEE,7|-41|0F5087,3|-55|17BCFE,2|-39|105B93,10|-14|105C93,14|-41|0D3B70,3|-46|115F97",0.9)
    确认退出 = array(158,395,537,905,"0F9DE3","8|-21|0EB2FB,9|-1|0E619C,7|6|0E5E99,7|17|108ACA,4|-261|9F8C81,4|-278|CCC6C2,260|148|002D7B,167|-70|D5D5D5,158|-60|CCCCCC",0.9)
    退出游戏= array(20,738,106,920,"D3D4D3","-1|-24|717371,-1|-34|878887,-1|-19|E7E7E7,1|13|E7E7E7,4|41|888988,0|27|E7E7E7,4|8|9B9C9B,3|-11|868886,-12|-54|E5E5E5",0.9)
    不重回演习=array(149,317,577,908,"E1E1E1","2|18|9D897F,7|29|E3E3E3,15|14|8B7264,22|301|0DADF9,9|320|0F5C95,260|-56|86A8B6,261|-39|FFFFFF,270|-40|F1F5F6,271|-40|F6F9FA",0.9)
    qq登录=array(0,0,0,0,"FFFFFD","1|-15|FFCE00,28|-22|FFCE00,31|-2|FFFFFF,-12|-5|FFD835,-14|-25|FFDB44,-310|-901|FFF6CA,-32|-890|FFBC00,-24|-898|FFFFFF,-15|-899|FFC012",0.9)
    与qq好友玩=array(82,650,202,917,"633009","7|-31|6D380D,7|-52|A66A27,7|-69|9E682F,5|-29|B4762E,5|33|6F3A0E,0|63|7A4313,2|85|D6943B,16|85|E8A546,12|45|E4A145",0.9)
    点击匹配赛=array(482,1024,572,1279,"F9F9F9","16|4|F6F6F6,16|9|F6F6F6,15|107|4ACBF5,17|56|EEEFEF,15|56|989A9A,12|41|D3D4D4,16|32|ACADAD,18|27|959595,16|13|FAFAFA",0.9)
    开始游戏=array(4,926,123,1248,"F5F7F9","3|-18|FFFFFF,-3|36|E4E8EE,-5|74|FEFEFE,-7|105|FFFFFF,-4|161|FCFDFD,12|103|FFFFFF,16|103|FFFFFF,15|31|FEFFFF,6|28|F8F9FB",0.9)
    拒绝邀请=array(212,388,287,597,"C6BEBA","-5|-9|91796C,-11|-19|968175,-13|6|CAC3BF,-13|22|C4BBB7,-2|-6|E3E3E3,-16|-15|E0E0DF,-14|25|AE9F98,-3|-15|B9AEA7,-19|-2|D6D3D2",0.9)
    新手八天 =array(  541,1065,669,1151,"34C3EE","-17|-12|28BDF6,10|-14|3D818B,10|15|33C6F0,0|6|2B778B,-4|2|31BDEA,-12|11|2AADEE,-20|20|2F9DE2,-23|23|0390EF,-5|3|3CD2FC",0.9)
     广场1  =array(0,0,0,0,"FCFCFC","-6|0|FEFEFE,-1|8|FFFFFF,6|-121|DEDEDB,211|-551|FFFFFF,211|-552|FFFFFF,-448|-1130|3ACAF8,-450|-1112|3AC9F6,-491|-1171|FBF1EB,-489|-1173|FBF1EB",0.9,false)
    //判断 
    //页面图色状态判断的内容数组就不用点击,后面加一个false
    飞机=array(0,0,0,0,"D7D8D7","9|-11|D7D8D7,24|-14|D6D7D6,24|-26|D8D8D8,15|-32|D6D7D6,15|-28|D7D7D7,251|-144|FFFFFF,-449|-767|FBF1EB,-408|-737|39C8F4,-413|-724|39C7F3",0.9,false)
    广场=array(183,513,322,757,"D2D2D2","-2|83|D4D4D4,4|-129|CACBCA,3|-135|CDCFCF,201|-18|FFFFFF,202|-19|FFFFFF,-499|-645|FBF1EB,-507|-590|F9F9F9,-459|-597|3ACCF9,-459|-632|39BFE9",0.9,false)
    邀请跳        =array(262,1043,472,1279,"42E76B","6|16|42E66B,12|22|42E76B,77|67|F9F9FD,84|67|EEEEFB,70|54|0909B7,80|71|0909C0,91|67|0A0ACB,73|56|0909B9,69|52|0E0EAE",0.9,false)
End Sub

Sub 读取界面配置
        //读取界面配置统一封装,这些变量是全局变量,要提前在脚本开始定义,在函数里面定义就是局部变量,函数外面就用不了
    发言内容 = ReadUIConfig("输入框1")
End Sub

Function 找图(fx, fy, del)
//进一步对果壳找图封装。找到图后点击,输出调试信息。并延迟
    if (gk.full (fx)) then
        ms fy
        Delay del
    End if
End Function

Function 判断(fx, fy)
//进一步对果壳界面判断找图封装。找到图后加了false就不点击,但是返回函数的真假,后面要对这些函数返回值做出判断而做出相对应的操作
    If (gk.full(fx)) Then 
        ms "在" & fy
        判断 = True
    Else 
        判断 = false
    End if
End Function

Function ms(msg)
//对于输出调试信息封装,因为是云手机,所以只用了一个命令,如果是手机可以加TracePrint 或者加延迟

    ShowMessage msg
End Function

Sub 主程序
//最外面的主程序,在这个程序会启动主要的任务和卡死检测两个多线程子程序,并且会不断判断砍死检测子线程传过来的共享变量,做出重启应用等操作,详情请看我的历史帖子对于多线程的描写。
    Thread.SetShareVar "a", false
    jk = Thread.Start(监控)
    Delay 1000
    gj = Thread.Start(挂机)
    Do
        If Thread.GetShareVar("a") = True Then 
            ShowMessage "界面已经卡住了"
            Thread.stop (gj)
            KillApp "com.tencent.tmgp.pubgm"
            ShowMessage "等待5秒钟脚本重新开始"
            Delay 5000
            gj = Thread.start(挂机)
            Thread.SetShareVar "a",False
        End If
        Delay 1000
    Loop
End Sub

Sub 监控
//子线程不断判断某个点的颜色,每60秒判断一次,三次一样就传递共享变量到主程序。主程序控制app重启
    Dim blo_time = 0
    Dim cmp,tar_color
    Do
        tar_color = GetPixelColor(32, 1219)
        Delay 10000
        ShowMessage "监控线程启动,监控点颜色为"&tar_color&",60秒监控一次,三次相同重启app",2000
        Delay 60000
        cmp = CmpColor(32, 1219, tar_color, 0.9)
        If cmp > -1 Then 
            blo_time = blo_time +1
            ShowMessage "卡住" & blo_time & "次"
            If blo_time >= 3 Then 
                ShowMessage "卡住三次,即将重启app"
                Thread.SetShareVar "a", True
                Delay 12000
                blo_time = 0
            End If
        Else 
            blo_time = 0
            Thread.SetShareVar "a", False
        End If
    Loop
End Sub

Sub 初始化
//初始化目前就这三个功能,前两个已经封装
    图色赋值()
    读取界面配置()
    RunApp "com.tencent.tmgp.pubgm"
End Sub

Sub 干扰
//所有的找图全部封装在一起,很简明
    找图 拒绝消息发送,"拒绝消息发送",1000
    找图 新手八天,"新手八天",1000
    找图 拒绝邀请,"拒绝邀请",1000
    找图 开始游戏,"开始游戏",2000
    找图 点击匹配赛,"点击匹配赛",2000
    找图 与qq好友玩,"与qq好友玩",2000
    找图 qq登录,"qq登录",5000
    找图 确认退出,"确认退出",1000
    找图 退出游戏,"退出游戏",1000
    找图 确认退出, "确认退出", 3000
    找图 不重回演习,"不重回演习",1000
End Sub

Sub 任务
//or判断这里其实可以做很多找图不准确的兼容
    If 判断(广场, "广场") or 判断(广场1, "广场1")Then
        call        打字()
    End If
    If 判断(邀请跳, "邀请跳") Then 
            ms ("有人邀我跳伞")
            Delay 300
        tap 368,1110
        Delay 300
    End If
    If 判断(飞机, "飞机") Then 
        For 4
            call        打字() 
        Next
        tap 690,1066//点击设置 
    End If
End Sub

Sub 挂机
//挂机子程序,由主程序启动
    初始化()
    Do
        干扰() 
        任务()
        Delay 300
    Loop
        
End Sub

Sub 打字
//聊天操作全部点击,找图太慢了,别人邀请跳伞的问题已经在任务子程序里面搞定
    Tap 502,1253//点击聊天按钮
    Delay 300
    tap 342,905//点击输入框
    Delay 300
    Touch 342,905, 100//点击输入框
    Delay 100
    InputText 发言内容
    Delay 500
    tap 345,1070//点击发送
    Delay 2000
End Sub

Call 主程序()


界面代码。就做了一个发言内容
[Asm] 纯文本查看 复制代码
界面1:
{
        标签页1:
        {
                水平布局:
                {
                        文字框:{名称:"文字框1",显示内容:"发言内容",},        
                        输入框:{名称:"输入框1",提示内容:"测试",初始文本:"",},        

                },        
        
        },        

}

好了,很简单,100多行,不知道大家学到了没有,哈哈。自己的历史帖子很多写按键精灵。不知道违规了没有,
脚本基于红手指,发帖时已经测试了好几个小时,应该稳定,问题不大。





2020.4.30号更新 :自己打包吧,时间这么长了估计不能用了,还有按键开始收费了。我要弃坑了

免费评分

参与人数 5吾爱币 +5 热心值 +5 收起 理由
woshidbd + 1 + 1 楼主 想向你学习一下 可以+一下吗
qq1335988969 + 1 + 1 非常感谢你的教程
li5135580 + 1 + 1 大佬能帮忙写个小脚本吗
Quincy379 + 1 + 1 看你一步步变成了脚本大神,膜拜
lplp01110 + 1 + 1 感谢老哥的按键精灵教程,很有用!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

一叶知夏 发表于 2019-4-27 17:29
进来学习一下
谢谢楼主
麻麻黑丶 发表于 2019-5-16 14:17
大牛可以帮我写个街头篮球按键精灵吗。   登录游戏 开始游戏打人机。2分30秒大腿游戏。在登录游戏在开人机房间 开始游戏。 打人机。又在2分30秒大腿游戏。再登了。这样循环的
lplp01110 发表于 2019-4-27 17:43
wushaominkk 发表于 2019-4-29 12:44
编辑在这里
QQ图片20190429124212.png
 楼主| 打字的小强 发表于 2019-4-29 20:54

改好了,打开了才行
allenmichael89 发表于 2019-5-9 21:53
不错哟,写得挺整齐的
 楼主| 打字的小强 发表于 2019-5-10 08:24
allenmichael89 发表于 2019-5-9 21:53
不错哟,写得挺整齐的

谢谢夸奖
心造极 发表于 2019-5-11 21:49
有联系方式没
zhiyuebbs 发表于 2019-7-6 12:51
大神,我私信你了@@@@@@@打字的小强
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-5-10 23:55

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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