手游名字:《世界2风暴帝国》
版本:1.9
测试:夜神安卓模拟器2.5版
安卓版按键精灵版本:2.5
脚本支持分辨率:540*960,720*1280,1080*1920
脚本功能:不停加入别人队伍打boss,脚本定时,在队伍中等待定时,选择任务类型,设置任务等级
主要思路:识别界面-进行对应操作
用到的主要命令和函数:获取屏幕分辨率GetScreenX(),判断if...then...elseif...end if,Select Case..case...end Select ,For循环,do循环,GetPixelColor(x,y),分割函数Split(),UBound(),读取UI配置函数以及其他
附加说明:
1.应为安卓版按键精灵不支持不支持直接读取附件中的txt文件所以直接把文本写到脚本的一个变量里
2.GetPixelColor(x,y)命令完全可以用CmpColor(x,y,sim)或者其他找图找色命令替代
/*================屏幕===============*/
Dim screenX,screenY
screenX = GetScreenX()
screenY = GetScreenY()
//TracePrint screenX
//TracePrint screenY
If screenX = 540 and screenY = 960 Then
//Call Main540()
ElseIf screenX = 720 and screenY = 1280 Then
//Call Main720()
ElseIf screenX = 1080 and screenY = 1920 Then
//Call Main1080()
Else
ShowMessage "不支持你手机的分辨率!"
Delay 3000
EndScript
End If
Dim px,py,px1,py1
px = screenX / 1080
py = screenY / 1920
px1 = screenX / 540
py1 = screenY / 960
/*================屏幕============*/
/*================UI=================*/
Dim 组队方式,任务类型,队伍中等待时间,挂机时间,任务等级1,任务等级2
组队方式=ReadUIConfig("下拉框1")
任务类型 = ReadUIConfig("下拉框2")
任务等级1=CSng(ReadUIConfig("输入框3"))
任务等级2=CSng(ReadUIConfig("输入框4"))
队伍中等待时间=CSng(ReadUIConfig("输入框1"))
队伍中等待时间=队伍中等待时间*0.5
挂机时间 = CSng(ReadUIConfig("输入框2"))
Select Case 任务类型
Case 0
任务类型="All"
Case 1
任务类型="44C8FF"//S
Case 2
任务类型="FF6CDB"//A
Case 3
任务类型="FF9D45"//B
Case 4
任务类型="3AD863"//C
Case 5
任务类型="FFFFFF"//D
End Select
If 任务等级1 < 1 Then
任务等级1 = 1
ElseIf 任务等级1 > 55 Then
任务等级1 = 55
ElseIf 任务等级1 = "" Then
任务等级1 = 1
End If
If 任务等级2 < 1 Then
任务等级2 = 1
ElseIf 任务等级2 > 55 Then
任务等级2 = 55
ElseIf 任务等级2 = "" Then
任务等级2 = 55
End If
If 队伍中等待时间 <= 5 Then
队伍中等待时间 = 5
End If
If 挂机时间 < 0 Then
挂机时间 = 0
ElseIf 挂机时间 > 0 Then
挂机时间=挂机时间*1000*60//min
End If
/*================UI===============*/
/*================数据===============*/
Dim text1,text2,text5401,text5402,text7201,text7202,text10801,text10802,Coordinate,c,l,m,CoordinateXY,x(1000),y(1000),i
// 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
text5401 = "0|33,912|279,36|263,59|346,327|183,393|508,860|508,860|173,840|398,471|36,430|221,523|230,523|172,840|207,483|213,523|211,488|232,483|204,488|77,484|442,140|223,806"
text5402 = "0|D7D7D7|C6C6C6|3E1828|949494|23AEFF|656565|00A9E7|575654|191919|464544|676767|A4A4A4|5B5A58|B7B7B7|8F8F8F|515151|B7B7B7|515151|C1C1C1|C6C6C6|B2B2B2"
text7201 = "0|45,1222|374,48|345,80|473,454|244,524|676,1149|675,1148|231,1120|523,624|51,574|295,698|306,698|225,1120|276,644|284,698|281,651|310,644|271,651|102,643|581,126|296,1074"
text7202 = "0|9D9A99|9D9D9D|431A2C|161616|23B0FF|686868|00ADE9|51504E|C5C5C5|575755|707070|636363|555452|ACACAC|7C7C7C|656565|ACACAC|656565|868686|606060|BABABA"
// 1 2 3 4 5 6 7 8 9 10 11 12 13
text10801= "0|110,1835|1003,130|545,144|683,679|367,785|1030,1718|1025,77|638,1018|791,952|863,145|449,882|450,877|345,1680|412,967|416,876|420,978|463,968|405,979|151,967|916,207|446,1611"
text10802= "0|9E9E9E|EEEEEE|321320|FFFFFF|24AEFF|FEFEFE|AFAFAF|FFFFFF|FAE0D3|F5BEA3|CBCBCB|FEFEFE|4F4F4D|D0D0D0|ECECEC|C2C2C2|FFFFFF|FFFFFF|FAFAFA|FFFFFF|BEBEBE"
If screenX = 540 and screenY = 960 Then
text1=text5401
text2=text5402
ElseIf screenX = 720 and screenY = 1280 Then
text1=text7201
text2=text7202
ElseIf screenX = 1080 and screenY = 1920 Then
text1=text10801
text2=text10802
End If
Function UBound(arr)
Dim i = -1
For Each str In arr
i = i + 1
Next
UBound = i
End Function
Coordinate = Split(text1, "|")
c = Split(text2, "|")
l = UBound(Coordinate)
For m = 1 To l
CoordinateXY = Split(Coordinate(m), ",")
x(m) = CoordinateXY(0)
y(m) = CoordinateXY(1)
Next
/*================数据============*/
/*================接口===============*/
Call Main()
/*================接口============*/
/*================主体===============*/
Sub 主体()
i=0
Dim rColor
If 组队方式 = 1 and m = 4 Then
x(m)=340
y(m)=322
c(m)="E5E5E5"
End If
rColor = GetPixelColor(x(m), y(m))
If rColor = c(m) Then
i=m
End If
End Sub
Sub Main()
Do
Do
Call 主体()
m = m + 1
If 组队方式 = 1 Then
If m = 2 or m=3 Then
m=4
End If
End If
If m > l Then
m=1
End If
Loop Until i <> 0
Call action()
TracePrint i
If 挂机时间 <> 0 Then
If TickCount() > 挂机时间 Then
EndScript
End If
End If
Loop
End Sub
/*===============主体============*/
/*================执行===============*/
Sub action()
Select Case i
Case 1
Call a1()
Case 2
Call a2()
Case 3
Call a3()
Case 4
Call a4()
Case 5
Call a5()
Case 6
Call a6()
Case 7
Call a7()
Case 8
Call a8()
Case 9
Call a9()
Case 10
Call a10()
Case 11
Call a11()
Case 12
Call a12()
Case 13
Call a13()
Case 14
Call a14()
Case 15
Call a15()
Case 16
Call a16()
Case 17
Call a17()
Case 18
Call a18()
Case 19
Call a19()
Case 20
Call a20()
Case 21
Call a21()
End Select
End Sub
Sub a1()
TracePrint 组队方式
If 组队方式 = 0 Then
Tap 25*px, 554*py//聊天
Delay 700
Tap 539 * px, 101 * py//区域
ElseIf 组队方式 = 1 Then
Tap 346*px1, 452*py1
Tap 361*px1, 367*py1
Tap 323*px1, 311*py1
Tap 356*px1, 505*py1
Tap 362*px1, 555*py1
Tap 371*px1, 394*py1
Tap 221*px1, 580*py1
Tap 223*px1, 636*py1
Tap 223*px1, 687*py1
End If
End Sub
Sub a2()
Tap 539*px,101*py
End Sub
Sub a3()//读取UI
Dim x,x1,y1,rColor
Select Case screenX
Case 540
x1 = 99
y1=1078*py
Case 720
x1 = 133
y1=1078*py
Case 1080
x1 = 199
y1=1078*py
End Select
If 任务类型 = "All" Then
Tap 215*px, 1078*py
Else
Do
rColor = GetPixelColor(x1, y1)
If rColor = 任务类型 Then
Tap 215 * px, 1078 * py
Delay 200
x = 200
Else
x = x + 1
Delay 350
End If
Loop Until x>100
End If
End Sub
Sub a4()
Dim rColor,x1,y1,c1
If screenX = 540 Then
x1=323
y1=734
c1="1F1F1F"
ElseIf screenX = 720 Then
x1=429
y1=999
c1="CCCCCC"
ElseIf screenX = 1080 Then
x1=665
y1=1514
c1="B8B8B8"
End If
rColor = GetPixelColor(x1,y1)
If rColor = c1 Then
Tap 664 * px, 1435 * py
Delay 300
Tap 77*px, 905*py
ElseIf rColor = "000000" Then
Tap 77*px, 905*py
Delay 600
Tap 1042*px,1881*py
End If
End Sub
Sub a5()
Dim rColor,x,x1,y1,c1
x = 0
If screenX = 540 Then
x1=183
y1=393
c1="23AEFF"
ElseIf screenX = 720 Then
x1=244
y1=524
c1="23B0FF"
ElseIf screenX = 1080 Then
x1=367
y1=785
c1="24AEFF"
End If
Do
i=0
rColor = GetPixelColor(x1,y1)
If rColor = c1 Then
Delay 2000
i = 5
x = x + 1
If x > 队伍中等待时间 Then
Tap 942*px, 1553*py
Delay 800
Tap 452 * px, 874 * py
If 任务类型 = 1 Then
Delay 800
Tap 25*px, 554*py
Delay 700
Tap 539*px, 101*py
End If
i=0
End If
End If
Loop Until i <> 5
End Sub
Sub a6
Tap 1022*px, 1719*py
End Sub
Sub a7()
Dim rColor,x1,y1,c1
If screenX = 540 Then
x1=516
y1=853
c1="E3F2FA"
ElseIf screenX = 720 Then
x1=675
y1=1142
c1="00ADE9"
ElseIf screenX = 1080 Then
x1=1012
y1=1722
c1="00AEEA"
End If
Do
i=0
Delay 13000
rColor = GetPixelColor(x1,y1)
If rColor = c1 Then
i=7
End If
Loop Until i<>7
End Sub
Sub a8()
Tap 227*px, 970*py
Delay 300
Tap 227*px, 970*py
Delay 350
Tap 227*px, 970*py
End Sub
Sub a9()
Tap 185*px, 974*py
Delay 300
Tap 185*px,974*py
End Sub
Sub a10()
Tap 74*px, 982*py
Delay 300
Tap 74*px, 982*py
Delay 3000
End Sub
Sub a11()
Tap 452*px, 874*py
If 任务类型 = 1 Then
Delay 800
Tap 25*px, 554*py
Delay 700
Tap 539*px,101*py
End If
End Sub
Sub a12()
Tap 465*px,1045*py
End Sub
Sub a13()
Tap 223*px, 958*py
Delay 300
Tap 223*px, 958*py
Delay 3000
End Sub
Sub a14()
Tap 416 * px, 964 * py
Delay 300
Tap 77*px, 905*py
End Sub
Sub a15()
Tap 432*px,1047*py
End Sub
Sub a16()
Tap 416*px,973*py
End Sub
Sub a17()
Tap 467 * px, 968 * py
Delay 300
Tap 77*px, 905*py
End Sub
Sub a18()
Tap 406*px,975*py
End Sub
Sub a19()
Tap 151*px,963*py
End Sub
Sub a20()
Tap 942*px,1781*py
Delay 800
Tap 452*px, 874*py
If 任务类型 = 1 Then
Delay 800
Tap 25*px, 554*py
Delay 700
Tap 539*px, 101*py
End If
End Sub
Sub a21()
If 任务类型 = "44C8FF" Then
Tap 409*px1,233*py1
ElseIf 任务类型 = "FF6CDB" Then
Tap 351*px1,233*py1
ElseIf 任务类型 = "FF9D45" Then
Tap 293*px1,233*py1
ElseIf 任务类型 = "3AD863" Then
Tap 237*px1,233*py1
ElseIf 任务类型 = "FFFFFF" Then
Tap 176*px1,233*py1
End If
Delay 200
If 任务等级1 > 1 Then
Tap 65 * px1, 841 * py1
Delay 300
InputText 任务等级1
Tap 52 * px1, 906 * py1
Delay 300
End If
If 任务等级2 < 55 Then
Tap 65 * px1, 916 * py1
Delay 300
InputText 任务等级2
Tap 52 * px1, 906 * py1
Delay 300
End If
Tap 223*px1, 853*py1
Delay 700
Tap 456 * px1, 683 * py1
Delay 500
Tap 659*px,1442*py
End Sub
/*===============执行============*/