UserVar jn1="a" "设置技能1键位"
UserVar jn2=2 "设置技能2键位"
UserVar jn3="F11" "设置技能3键位"
UserVar s1=60 "设置技能1施放间隔时间"
UserVar s2=90 "设置技能2施放间隔时间"
UserVar s3=120 "设置技能3施放间隔时间"
//-----------------------------------------------------------------------
//---------------------------------------------------------[赋值初始变量]
//-----------------------------------------------------------------------
dim number(2),thetime(2),key(2),sj(2)
dim a,b,c,d,jn1,jn2,jn3,s1,s2,s3,t1,t2,t3,L
//声明变量
number(0)=jn1:number(1)=jn2:number(2)=jn3
thetime(0)=s1:thetime(1)=s2:thetime(2)=s3
//把自定义参数的返回值转换成数组元素
t1=now:t2=now:t3=now
//返回当前系统日期时间到变量
//-----------------------------------------------------------------------
//---------------------------------------------------------- [跳转子程序]
//-----------------------------------------------------------------------
Gosub 判断按键
Gosub 判断时间
//-----------------------------------------------------------------------
//---------------------------------------------------------- [脚本主程序]
//-----------------------------------------------------------------------
While true
    //条件无限循环
    If DateDiff("s",t1,now)>=sj(0) Then
        //< DateDiff 函数:返回两个日期之间的时间间隔>
        //<"s":秒> <t1:时间变量> <now:当前系统日期和时间> <s(0):自定义时间变量>
        Delay 10
        KeyPress key(0),1
        //按键 变量k(0) 1次
        t1=now
        //重新赋值日期时间到变量
    End If 
    If DateDiff("s",t2,now)>=sj(1) Then
        Delay 10
        KeyPress key(1),1
        t2=now
    End If
    If DateDiff("s",t3,now)>=sj(2) Then
        Delay 10
        KeyPress key(2),1
        t3=now
    End If 
    Delay 10
Wend
//-----------------------------------------------------------------------
//------------------------------------------------------ [判断键码子程序]
//-----------------------------------------------------------------------
Sub 判断按键()
    a=0:b=0
    //赋值数组最小下标
    For 3
        L=Len(number(a))
        //< Len 函数:返回字符串内字符的数量>
        If L=1 Then
            key(b)=Asc(UCase(number(a)))
            //< Asc 函数:返回字符串首字母的ASCII字符代码> < UCase 函数:返回转换为大写字母的字符>
            If key(b)<48 or key(b)>90 Then
                  Call 结束()
                //超出范围跳转到脚本结束标记
            ElseIf key(b)>57 and key(b)<65 Then
                Call 结束()
            End If 
        ElseIf L>1 and L<4 Then
            If UCase(Left(number(a),1))="F" Then
                //判断字符串首字字符  < Left 函数:返回字符串最左边的指定数量的字符>
                key(b)=Asc(UCase(Left(number(a),1)))+Right(number(a),L-1)+41
                //< Right 函数:返回字符串最右边的指定数量的字符>
                If key(b)<112 or key(b)>123 Then  
                    Call 结束()
                End If 
            Else 
                Call 结束()
            End If 
        Else 
            Call 结束()
        End If 
        a=a+1:b=b+1
        //数组下标+1
        Delay 10
    Next 
End Sub
//-----------------------------------------------------------------------
//------------------------------------------------------ [判断时间子程序]
//-----------------------------------------------------------------------
Sub 判断时间()
    c=0:d=0
    For 3
        If IsNumeric(thetime(c))=True Then
            //< IsNumeric 函数:返回布尔值指明表达式的值是否为数字>
            sj(d)=cint(thetime(c))
            //< CInt 函数:返回已被转换为整形子类型的变体的表达式>
        Else
            Call 结束()
        End If
        c=c+1:d=d+1
        Delay 10