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