按键精灵自动开枪脚本源码

运行环境:分辨率:1600×900 色深:32位 操作系统:Microsoft Windows XP 按键精灵版本:9.21.10865

@うちは_イタ 2012/10/18

UserVar Var1=30 "开枪频率"  
UserVar Var2=1 "单次开枪子弹数量"  
UserVar Var3=0 "第一枪延迟"  
UserVar Var4=55 "压枪延迟"  
//定义变量  
DimEnv iWidth  ,iHeight        //int 屏幕分辨率  
DimEnv iFD //开枪频率  
iFD=Var1   
DimEnv iFN //几发连射  
iFN=Var2   
DimEnv iFFD //第一枪延迟  
iFFD=Var3  
DimEnv iND //压枪延迟  
iND=Var4  
//调用主函数  
Call Main()   
//**Main  
//程序入口主函数  
Sub Main()  
    //int 四个角的坐标  
    Dim iLT,iRT,iLB,iRB          
    //临时对象  
    Dim vTemp          
    Dim bCanShoot  
    Dim sStr  
    //得到分辨率(四个坐标)  
    sStr=getParameter()   
    //把返回的坐标分割成数组  
    vTemp=Split(sStr, "|", -1, 1)  
      
    iLT=vTemp(0)  
    iRT=vTemp(1)  
    iLB=vTemp(2)  
    iRB=vTemp(3)  
    //启用设置开枪频率线程  
    BeginThread setFireDelay   
      
    //循环脚本  
    While True  
        Delay 1  
        //搜索射程内的敌人  
        bCanShoot=findFoe(iLT,iRT,iLB,iRB)  
        //进入射程  
        If bCanShoot  
            //第一枪延迟  
            Delay iFFD   
            //射击  
            Call shootFoe()  
            //如果没有命中就压枪  
            If ifBingo()  
                Delay iND  
            End If  
        End If  
    Wend  
End Sub  
//**Function  
//功能:判断屏幕分辨率  
//返回:四个坐标的字符串  
Function getParameter()  
    Dim iLT,iRT,iLB,iRB        //int 四个角的坐标  
    iWidth = Plugin.Sys.GetScRX() //得到屏幕的宽度  
    iHeight = Plugin.Sys.GetScRY() //得到屏幕的高度  
    If iWidth=800 Then  
        iLT=0  
        iRT=0  
        iLB=0  
        iRB=0  
    ElseIf iWidth=1024 Then  
        iLT=112 //加上坐标偏移  
        iRT=84  
        iLB=112  
        iRB=84          
    ElseIf iWidth=1280 Then  
        iLT=240 //加上坐标偏移  
        iRT=100  
        iLB=240  
        iRB=100          
    End If  
    iLT=iLT+380        //LeftTop 左上角  
    iRT=iRT+345        //RightTop 右上角  
    iLB=iLB+420        //LeftBottom 左下角  
    iRB=iRB+355        //RightBottom 右下角  
    getParameter=iLT&"|"&iRT&"|"&iLB&"|"&iRB        //返回字符串  
End Function  
//**Function  
//功能:判断射程内是否有敌人  
//返回:是True,否False  
Function findFoe(iLT,iRT,iLB,iRB)  
    Dim sColor(3)        //Array(string) 用于存放颜色的数组  
    Dim i        //int 循环变量  
    Dim iX,iY        //int 得到颜色的坐标  
    Dim bHave        //boolean 是否找到敌人  
    //初始化颜色  
    sColor(0)="3239A0"  
    sColor(1)="2A3EB8"  
    sColor(2)="1849F0"  
    sColor(3)="1849F0"  
      
    bHave=false        //初始化  
        //找颜色  
    For i=0 to 3 step 1  
        Call FindColorEx(iLT,iRT,iLB,iRB,sColor(i),1,0.7,iX,iY)  
        If iX>0 And iY>0  
            bHave=true        //找到了  
            KeyPress 44, 1  
            Goto rHave        //跳出  
        End If  
    Next  
      
    Rem rHave  
    findFoe=bHave//Return 函数返回值  
End Function  
//**Function  
//功能:判断是否没有命中敌人  
//返回:是True,否False  
Function noBingo()  
    Dim iX,iY        //int 得到颜色的坐标  
    Call FindColorEx(iWidth/2-5,iHeight/2-5,iWidth/2+5,iHeight+5,"7E7EC0",1,0.7,iX,iY)  
    If iX > 0 Then  
        noBingo=True  
    Else  
        noBingo=False  
    End If  
          
End Function  
          
//**Sub  
//功能:射击  
Sub shootFoe()  
    LeftClick iFN //左键单击 * 次  
    Delay iFD //延迟 * 毫秒  
End Sub  
//**Sun  
//参数(字符串,秒,第几行)  
//功能:显示字符串  
Sub showStr(str,n,row)  
    For n*100  
        Delay 1  
        Call Plugin.Msg.ShowScrTXT(0, (row-1)*19, 120, 19, str, "0000FF")  
    Next  
End Sub  
//**Sun  
//功能:设置开枪延迟  
//# 多线程启动  
Sub setFireDelay()  
    Dim key  
    While True  
        key=WaitKey()  
        If key=37  
            iFD=iFD-1        //缩小开枪延迟  
            Call showStr("开枪频率为"&iFD&"毫秒",5,1)  
        ElseIf key=39        //方向键 右  
            iFD=iFD+1 //增加开枪延迟  
            Call showStr("开枪频率为"&iFD&"毫秒",5,1)  
        ElseIf key=38        //方向键 右  
            iFD=iFD+5 //增加开枪延迟  
            Call showStr("开枪频率为"&iFD&"毫秒",5,1)  
        ElseIf key=40        //方向键 右  
            iFD=iFD-5 //增加开枪延迟  
            Call showStr("开枪频率为"&iFD&"毫秒",5,1)  
        End If  
    Wend  
End Sub
相关文件下载地址
©下载资源版权归作者所有;本站所有资源均来源于网络,仅供学习使用,请支持正版!

按键精灵自动开枪脚本源码》有0个想法

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注