按键【第四篇】模块封装

随机数

随机数种子(Randomize)一定要放在函数外

Function 随机数(num1, num2)
	//要产生指定范围的随机整数,请使用以下公式: 
	//Int((最大值 - 最小值 + 1) * Rnd() + 最小值)
	//例如产生num1到num2之间的随机数: 
	If num1 > num2 Then 
		随机数 = Int(((num1 - num2 + 1) * Rnd()) + num2)
	Else 
		随机数 = Int(((num2 - num1 + 1) * Rnd()) + num1)
	End If
	
End Function

随机延迟  

Function 延迟(t)
	// 随机延迟
	delay 随机数(t, t+100) 
End Function

随机点击

Function 点击(x, y)
	// 随机点击
	Touch x + 随机数(-5,5), y + 随机数(-5,5), 随机数(10, 200)
End Function

随机滑动 

Function 滑动(x1, y1, x2, y2, t)
	// 随机滑动
	TouchDown x1 + 随机数(-5, 5), y1 + 随机数(-5, 5)
	延迟 t
	// 精准滑动: 两次滑动防止惯性
	TouchMove x2 + 随机数(-5, 5), y2 + 随机数(-5, 5)
	延迟 50
	TouchMove x2 + 随机数(-5, 5), y2 + 随机数(-5, 5)
	延迟 50
	TouchUp
End Function

找色块

Function 找色块(x1, y1, x2, y2, 颜色)
	找色块 = GetColorNum(x1, y1, x2, y2, 颜色, 1)
End Function

单点比色 

Function 单点比色(x, y, 颜色)
	// 找到返回0,否则返回-1
	单点比色 = False
	If CmpColor(x, y, 颜色, 1) = 0 Then 
		单点比色 = true
	End If
End Function

多点比色 

Function 多点比色(颜色组)
	// 找到返回1,否则返回0
	// 颜色组(0):颜色 颜色组(1): 相似度
	多点比色 = False
	// 格式:CmpColorEx(mul_color,sim) 
	// 举例:CmpColorEx("300|500|FFFFFF|123456-102030,305|505|FFFFFF",0.9)
	If CmpColorEx (颜色组(0), 颜色组(1) ) = 1 Then 
		多点比色 = true
	End If
End Function

高级版

Function 多点比色循环(颜色组, 次数)
	// 找到返回1,否则返回0
	For 次数 * 10
		多点比色循环 = False
		// 格式:CmpColorEx(mul_color,sim) 
		// 举例:CmpColorEx("300|500|FFFFFF|123456-102030,305|505|FFFFFF",0.9)
		If CmpColorEx (颜色组(0), 颜色组(1) ) = 1 Then 
			多点比色循环 = true
			Exit For
		End If
		Delay 100
	Next
End Function

多点找色  

Function 多点找色(颜色组, 模式)
	// 找到返回1,否则返回0
	// 颜色组(0):颜色,模式:是否点击
	多点找色 = False
	// 格式:FindMultiColor x1,y1,x2,y2,first_color,offset_color,dir,sim,intX,intY  
	// 举例:FindMultiColor 0,0,0,0,"FFFFFF","4|1|2F9772-000000|123456-101010,3|7|378757",0,0.9,intX,intY
	Dim intX,intY
	FindMultiColor 颜色组(0), 颜色组(1), 颜色组(2), 颜色组(3), 颜色组(4), 颜色组(5), 0, 颜色组(6), intX, intY
	If intX > -1 Then 
		多点找色 = true
		If 模式 = 1 Then 
			点击 intX,intY
		End If
	End If
End Function

高级版  

Function 多点找色循环(颜色组, 模式, 次数)
	// 找到返回1,否则返回0
	// 颜色组(0):颜色,模式:是否点击
	For 次数 * 10
		多点找色循环 = False
		// 格式:FindMultiColor x1,y1,x2,y2,first_color,offset_color,dir,sim,intX,intY  
		// 举例:FindMultiColor 0,0,0,0,"FFFFFF","4|1|2F9772-000000|123456-101010,3|7|378757",0,0.9,intX,intY
		Dim intX,intY
		FindMultiColor 颜色组(0), 颜色组(1), 颜色组(2), 颜色组(3), 颜色组(4), 颜色组(5), 0, 颜色组(6), intX, intY
		If intX > -1 Then 
			多点找色循环 = true
			If 模式 = 1 Then 
				点击 intX,intY
			End If
			Exit For
		End If
	Next
End Function

多点找色坐标

Function 多点找色坐标(颜色组)
	// 找到返回1,否则返回0
	// 颜色组(0):颜色
	dim 坐标 = Array(-1, -1)
	多点找色 = False
	// 格式:FindMultiColor x1,y1,x2,y2,first_color,offset_color,dir,sim,intX,intY  
	// 举例:FindMultiColor 0,0,0,0,"FFFFFF","4|1|2F9772-000000|123456-101010,3|7|378757",0,0.9,intX,intY
	FindMultiColor 颜色组(0), 颜色组(1), 颜色组(2), 颜色组(3), 颜色组(4), 颜色组(5), 0, 颜色组(6), 坐标(0), 坐标(1)
	If 坐标(0) > -1 Then 
		多点找色坐标 = 坐标
	End If
End Function 

找图  

Function 找图(x1, y1, x2, y2, 图片, 模式)
	找图 = False
	Dim intX, intY
	FindPic x1, y1, x2, y2, "Attachment:"&Replace(图片, "|", "|Attachment:") ","202020",0, 0.8, intX, intY
	If intX > -1 Then 
		找图 = True
		If 模式 = 1 Then 
			点击 intX,intY
		End If
	End If	
End Function

找图坐标  

Function 找图坐标(x1, y1, x2, y2, 图片)
	dim 坐标 = Array(-1, -1)
	找图坐标 = False
	FindPic x1, y1, x2, y2, "Attachment:"&Replace(图片, "|", "|Attachment:"),"202020",0, 0.8, 坐标(0), 坐标(1)
	If 坐标(0) > -1 Then 
		找图坐标 = 坐标(0), 坐标(1)
	End If
End Function

插件

Import "zm.luae" //导入插件,只需执行一次
Randomize


Function 找图坐标(x1, y1, x2, y2, 图片)
    dim 坐标 = Array(-1, -1)
    找图坐标 = False
    FindPic x1, y1, x2, y2, "Attachment:" & Replace(图片, "|", "|Attachment:"), "202020", 0, 0.8, 坐标(0), 坐标(1)
    If 坐标(0) > -1 Then 

        找图坐标 = 坐标
    End If
End Function

Function 找图循环(x1, y1, x2, y2, 图片, 模式, 次数)
    找图循环 = False
    Dim intX, intY
    For 次数*10
        FindPic x1, y1, x2, y2, "Attachment:"&Replace(图片, "|", "|Attachment:"), "202020",0, 0.8, intX, intY
        If intX > -1 Then 
            找图循环 = True
            If 模式 = 1 Then 
                点击 intX,intY
            End If
            Exit For
        End If
        Delay 100
    Next
End Function

Function 找图(x1, y1, x2, y2, 图片, 模式)
    找图 = False
    Dim intX, intY
    FindPic x1, y1, x2, y2, "Attachment:"&Replace(图片, "|", "|Attachment:"),"202020",0, 0.8, intX, intY
    If intX > -1 Then 
        找图 = True
        If 模式 = 1 Then 
            点击 intX,intY
        End If
    End If
End Function

Function 多点找色坐标(颜色组)
    // 找到返回1,否则返回0
    // 颜色组(0):颜色
    dim 坐标 = Array(-1, -1)
    多点找色坐标 = False
    // 格式:FindMultiColor x1,y1,x2,y2,first_color,offset_color,dir,sim,intX,intY  
    // 举例:FindMultiColor 0,0,0,0,"FFFFFF","4|1|2F9772-000000|123456-101010,3|7|378757",0,0.9,intX,intY
    FindMultiColor 颜色组(0), 颜色组(1), 颜色组(2), 颜色组(3), 颜色组(4), 颜色组(5), 0, 颜色组(7), 坐标(0), 坐标(1)
    If 坐标(0) > -1 Then 
        多点找色坐标 = 坐标
    End If
End Function

Function 多点找色循环(颜色组, 模式, 次数)
    // 找到返回1,否则返回0
    // 颜色组(0):颜色,模式:是否点击
    Dim intX,intY
    For 次数 * 10
        多点找色循环 = False
        // 格式:FindMultiColor x1,y1,x2,y2,first_color,offset_color,dir,sim,intX,intY  
        // 举例:FindMultiColor 0,0,0,0,"FFFFFF","4|1|2F9772-000000|123456-101010,3|7|378757",0,0.9,intX,intY
        FindMultiColor 颜色组(0), 颜色组(1), 颜色组(2), 颜色组(3), 颜色组(4), 颜色组(5), 0, 颜色组(7), intX, intY
        If intX > -1 Then 
            多点找色循环 = true
            If 模式 = 1 Then 
                点击 intX,intY
            End If
            Exit For
        End If
    Next
End Function

Function 多点找色(颜色组, 模式)
    // 找到返回1,否则返回0
    // 颜色组(0):颜色,模式:是否点击
    多点找色 = False
    // 格式:FindMultiColor x1,y1,x2,y2,first_color,offset_color,dir,sim,intX,intY  
    // 举例:FindMultiColor 0,0,0,0,"FFFFFF","4|1|2F9772-000000|123456-101010,3|7|378757",0,0.9,intX,intY
    Dim intX,intY
    FindMultiColor 颜色组(0), 颜色组(1), 颜色组(2), 颜色组(3), 颜色组(4), 颜色组(5), 0, 颜色组(7), intX, intY
    If intX > -1 Then 
        多点找色 = true
        If 模式 = 1 Then 
            点击 intX,intY
        End If
    End If
End Function

Function 多点比色循环(颜色组, 次数)
    // 找到返回1,否则返回0
    For 次数 * 10
        多点比色循环 = False
        // 格式:CmpColorEx(mul_color,sim) 
        // 举例:CmpColorEx("300|500|FFFFFF|123456-102030,305|505|FFFFFF",0.9)
        If CmpColorEx (颜色组(0), 颜色组(1) ) = 1 Then 
            多点比色循环 = true
            Exit For
        End If
        Delay 100
    Next
End Function

Function 多点比色(颜色组)
    // 找到返回1,否则返回0
    // 颜色组(0):颜色 颜色组(1): 相似度
    多点比色 = False
    // 格式:CmpColorEx(mul_color,sim) 
    // 举例:CmpColorEx("300|500|FFFFFF|123456-102030,305|505|FFFFFF",0.9)
    If CmpColorEx (颜色组(0), 颜色组(1) ) = 1 Then 
        多点比色 = true
    End If
End Function

Function 单点比色(x, y, 颜色)
    // 找到返回0,否则返回-1
    单点比色 = False
    If CmpColor(x, y, 颜色, 1) > -1 Then 
        单点比色 = true
    End If
End Function

Function 找色块(x1, y1, x2, y2, 颜色)
    找色块 = GetColorNum(x1, y1, x2, y2, 颜色, 1)
End Function

Function 滑动(x1, y1, x2, y2, t)
    // 随机滑动
    TouchDown x1 + 随机数(-5, 5), y1 + 随机数(-5, 5)
    延迟 t
    // 精准滑动: 两次滑动防止惯性
    TouchMove x2 + 随机数(-5, 5), y2 + 随机数(-5, 5)
    延迟 50
    TouchMove x2 + 随机数(-5, 5), y2 + 随机数(-5, 5)
    延迟 50
    TouchUp
End Function

Function 点击(x, y)
    // 随机点击
    Touch x + 随机数(-5,5), y + 随机数(-5,5), 随机数(10, 200)
End Function

Function 延迟(t)
    // 随机延迟
    delay 随机数(t, t+100) 
End Function
        
Function 随机数(num1, num2)
    //要产生指定范围的随机整数,请使用以下公式: 
    //Int((最大值 - 最小值 + 1) * Rnd() + 最小值)
    //例如产生num1到num2之间的随机数: 
    If num1 > num2 Then 
        随机数 = Int(((num1 - num2 + 1) * Rnd()) + num2)
    Else 
        随机数 = Int(((num2 - num1 + 1) * Rnd()) + num1)
    End If
    
End Function

Function 随机数附近(val)
    // 左右偏差n元素
    //要产生指定范围的随机整数,请使用以下公式: 

    dim offset = 5
    dim rnd_num = Rnd()
    If rnd_num > 0.5 Then 
        随机数附近 = Int(val + offset * rnd_num)
    Else
        随机数附近 = Int(val - offset * rnd_num)
    End If

End Function

Function baiduOcr(x1, y1, x2, y2)
    zm.Init  //初始化插件,只需执行一次
    
    Dim APIKey="IAUexeHcOAIEzAkFvRUS7mkQ",SecretKey="Owe0kCeCn01Bb3UHK6NDE3vygpbpsn5f"
    Dim ret, t()
    //例子1: 设置默认通用文字识别
    If Not zm.OcrBaiDuInit(APIKey, SecretKey) Then
        TracePrint "初始化设置百度云识别失败"
        EndScript
    End If
    ret = zm.OcrBaiDu(x1, y1, x2, y2)
    TracePrint "识别结果:", ret
    baiduOcr = ret
End Function
TT.sql

 

 

  

  

  

  

  

  

  

  

  

 

  

  

  

  

 

posted @ 2020-09-26 10:38  沐风先生  阅读(399)  评论(0)    收藏  举报