//5月10日测试,cookie只保存3小时
//chrome浏览器无痕模式,无痕不记录cookie才能登录多个账号
//按键,多开
//--------------输入项:多开的数量------------------------------------------------------------------------------
N = 25
//--------------输入项:大区服务器账号密码,目前是4项输入信息,一行输入所有,分隔符空格-----------------
zhangmi = "大区 服务器 账号 密码 大区 服务器 账号 密码"
dim Myzhangmi
Myzhangmi = Split(zhangmi, " ")
//--------------------------------------打开商城网址------------------------------------------------------------
HwndEx = Plugin.Window.SearchEx("Chrome_WidgetWin_1", "打开新的无痕模式标签页 - Google Chrome", 0)
Dim MyArray_chrome
MyArray_chrome=Split (HwndEx,"|")
i=0
While i < N
Call Plugin.Window.Restore(MyArray_chrome(i))
Call Plugin.Window.Size(MyArray_chrome(i), 550, 910)//窗口调整大小为550,910
i = i + 1
Wend
i=0
While i < N
Call Plugin.Window.Active(MyArray_chrome(i))//激活窗口
Call Plugin.Bkgnd.LeftClick(MyArray_chrome(i), 176 + Rnd() * 1, 62 + Rnd() * 1)//点击网址输入框
Delay 100
Call Plugin.Bkgnd.SendString(MyArray_chrome(i), "https://webmall.xoyo.com/#/sign-in?redirect=%2F") //商城网址
Call Plugin.Bkgnd.KeyDown(MyArray_chrome(i), 13)
Delay 50
i = i + 1
Wend
Delay 5000
//-------------------------------窗口操作---------------------------------------------------------
HwndEx = Plugin.Window.SearchEx("Chrome_WidgetWin_1", "剑网3游戏商城(网页版) - Google Chrome", 0)
Dim MyArray
MyArray=Split (HwndEx,"|")
i=0
While i < N
Call Plugin.Window.Restore(MyArray(i))
Call Plugin.Window.Size(MyArray(i), 550, 910)//窗口调整大小为550,910
If i < 45 Then
Call Plugin.Window.Move(MyArray(i), 40 * i, 0)
Delay 100
Else
Call Plugin.Window.Move(MyArray(i), 40 * (i - 45), 100)
Delay 100
End If
i = i + 1
Wend
Dim H_商城
H_商城=Split ("1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50"," ")
i = 0
While i < N
Call Plugin.Window.Active(MyArray(i))
Call Plugin.Window.Show(MyArray(i)) //5月10日测试,不知道什么原因后台获取不了,这里只好使用前台获取了
MoveTo 30 + 40 * i, 200
Delay 500 //这些延迟,或者下面所有的相关延迟根据情况修改
H_商城(i) = Plugin.Window.MousePoint()
Delay 500
TracePrint (H_商城(i))
i = i + 1
Wend
Dim H_商城_最底层
H_商城_最底层=Split ("1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50"," ")
i = 0
While i < N
H_商城_最底层(i) = Plugin.Window.FindEx(MyArray(i), 0, 0, "")
i = i + 1
Wend
Function 刷新
i = 0
While i < N
Call Plugin.Bkgnd.LeftClick(MyArray(i), 91, 62)
i = i + 1
wend
Delay 9000 //延迟一下,太快怕没刷新好
End Function
Call 刷新
//--------------------5.10--这个网页的bg取色不知道为什么用不了----------------------
Delay 5000
i=0
While i < N
Call Plugin.Window.Active(MyArray(i))//激活窗口
Delay 80
Call Plugin.Bkgnd.LeftClick(H_商城(i), 343 + Rnd() * 1, 374 + Rnd() * 1)//点击登录
Delay 100
i = i + 1
Wend
Delay 5000//延迟一下,太快怕出问题
i=0
While i < N
Call Plugin.Window.Active(MyArray(i))//激活窗口
Call Plugin.Window.Show(MyArray(i)) //5月10日测试,不知道什么原因后台会乱输入,用前台
Call Plugin.Bkgnd.LeftClick(H_商城(i), 171 + Rnd() * 1, 193 + Rnd() * 1)
Delay 800
Call Plugin.Bkgnd.SendString(H_商城(i), Myzhangmi(2 + 4 * i))//输入账号
Delay 200
i = i + 1
Wend
Delay 1000//延迟一下,太快怕出问题
i=0
While i < N
Call Plugin.Window.Active(MyArray(i))//激活窗口
Call Plugin.Window.Show(MyArray(i)) //5月10日测试,不知道什么原因后台会乱输入,用前台
Call Plugin.Bkgnd.LeftClick(H_商城(i), 171 + Rnd() * 1, 242 + Rnd() * 1)
Delay 800
Call Plugin.Bkgnd.SendString(H_商城(i), Myzhangmi(3 + 4 * i))//输入密码
Delay 200
i = i + 1
Wend
Delay 1000//延迟一下,太快怕出问题
i=0
While i < N
Call Plugin.Window.Active(MyArray(i))//激活窗口
Call Plugin.Bkgnd.LeftClick(H_商城(i), 158 + Rnd() * 1, 411 + Rnd() * 1)//勾选协议
i = i + 1
Wend
Delay 1000//延迟一下,太快怕出问题
//因为验证码有操作时效,这段立即登录不要了
//i=0
//While i < N
//Call Plugin.Window.Active(MyArray(i))//激活窗口
//Call Plugin.Bkgnd.LeftClick(H_商城(i), 163 + Rnd() * 360, 308 + Rnd() * 33)//立即登录
//i = i + 1
//Wend
//=======================这里可以加入自动打码平台的接口=======判定验证码==================
K核实1 = InputBox("核实所有号打码完毕,登录完毕。输入任意值点确认")
Function 鼠标拖上去一格(A)
While A>0
Delay 100
Call Plugin.Bkgnd.LeftDown(H_商城(i), 303, 654)
Delay 100
Call Plugin.Bkgnd.MoveTo(H_商城(i), 303, 606)
Delay 100
Call Plugin.Bkgnd.LeftUp(H_商城(i), 303, 606)
Delay 100
A = A - 1
Wend
End Function
Function 前台鼠标——点击确定
MoveTo 573 + 40 * i, 527
Delay 500
LeftClick 1
Delay 500
End Function
i=0
While i < N
Call Plugin.Window.Active(MyArray(i))//激活窗口
Call Plugin.Window.Show(MyArray(i)) //5月10日测试,不知道什么原因后台有时候点不出来,用前台
Delay 200
Call Plugin.Bkgnd.LeftDoubleClick(H_商城(i), 211 + Rnd() * 332, 247 + Rnd() * 30)//选择大区
Delay 800
i=i+1
Wend
Delay 2000
i=0
While i < N
Call Plugin.Window.Active(MyArray(i))//激活窗口
Call Plugin.Window.Show(MyArray(i))
Delay 200
If Myzhangmi(0+4*i) = "双线一区" or Myzhangmi(0+4*i) = "双线二区" or Myzhangmi(0+4*i) = "双线四区" or Myzhangmi(0+4*i) = "双线区"Then
Delay 500
Call 鼠标拖上去一格(1)
Call 前台鼠标——点击确定
TracePrint ("选择了双线区")
Else
Call 前台鼠标——点击确定
TracePrint ("选择了电信区")
End If
i = i + 1
Wend
i=0
While i < N
Call Plugin.Window.Active(MyArray(i))//激活窗口
Call Plugin.Window.Show(MyArray(i))//5月10日测试,不知道什么原因后台有时候点不出来,用前台
Delay 200
Call Plugin.Bkgnd.LeftClick(H_商城(i), 207 + Rnd() * 336, 319 + Rnd() * 31)//选择服务器
Delay 800
i=i+1
Wend
Delay 2000
i=0
While i < N
Call Plugin.Window.Active(MyArray(i))//激活窗口
Call Plugin.Window.Show(MyArray(i))
If i=0 Then
Delay 3500
Else
Delay 350
End If
If Myzhangmi(1 + 4 * i) = "天鹅坪"or Myzhangmi(1 + 4 * i) = "唯我独尊" Then
Call 鼠标拖上去一格(1)
TracePrint("选择了天鹅坪or唯我独尊")
ElseIf Myzhangmi(1 + 4 * i) = "破阵子" or Myzhangmi(1 + 4 * i) = "梦江南" Then
TracePrint("选择了破阵子or梦江南")
ElseIf Myzhangmi(1 + 4 * i) = "飞龙在天" or Myzhangmi(1 + 4 * i) = "斗转星移" Then
Call 鼠标拖上去一格(3)
TracePrint("选择了飞龙在天or斗转星移")
ElseIf Myzhangmi(1 + 4 * i) = "青梅煮酒" or Myzhangmi(1 + 4 * i) = "乾坤一掷" Then
Call 鼠标拖上去一格(2)
TracePrint ("选择了青梅煮酒or乾坤一掷")
ElseIf Myzhangmi(1 + 4 * i) = "幽月轮" Then
Call 鼠标拖上去一格(4)
TracePrint ("选择了幽月轮")
ElseIf Myzhangmi(1 + 4 * i) = "剑胆琴心" Then
Call 鼠标拖上去一格(5)
TracePrint("选择了剑胆琴心")
ElseIf Myzhangmi(1 + 4 * i) = "绝代天骄" Then
Call 鼠标拖上去一格(6)
TracePrint ("选择了绝代天骄")
ElseIf Myzhangmi(1 + 4 * i) = "蝶恋花" Then
Call 鼠标拖上去一格(7)
TracePrint("选择了蝶恋花")
ElseIf Myzhangmi(1 + 4 * i) = "龙争虎斗" Then
Call 鼠标拖上去一格(8)
TracePrint ("选择了龙争虎斗")
ElseIf Myzhangmi(1 + 4 * i) = "长安城" Then
Call 鼠标拖上去一格(9)
TracePrint ("选择了长安城")
End If
Call 前台鼠标——点击确定
i = i + 1
Wend
i = 0
While i < N
Call Plugin.Window.Active(MyArray(i))//激活窗口
Call Plugin.Window.Show(MyArray(i))
Delay 200
Call Plugin.Bkgnd.LeftClick(H_商城(i), 206 + Rnd() * 338, 391 + Rnd() * 32)//选择角色
Delay 800
i = i + 1
Wend
Delay 1000
i = 0
While i < N
Call Plugin.Window.Active(MyArray(i))//激活窗口
Call Plugin.Window.Show(MyArray(i))//5月10日测试,不知道什么原因后台有时候点不出来,用前台
Delay 200
Call 前台鼠标——点击确定
i = i + 1
Wend
Delay 1000
i = 0
While i < N
Call Plugin.Window.Active(MyArray(i))//激活窗口
Call Plugin.Window.Show(MyArray(i))
Delay 200
Call Plugin.Bkgnd.LeftClick(H_商城(i), 180 + Rnd() * 255, 519 + Rnd() * 36)//确定
i = i + 1
Wend
Delay 8000
//---------------------------------------------解锁------------------------------------------
i = 0
While i < N
Call Plugin.Bkgnd.LeftClick(H_商城(i), 74 + Rnd() * 7, 78 + Rnd() * 9)//点击解锁
i = i + 1
Wend
Delay 3000
j = 5
Rem 点击解锁
While j > 0
i = 0
While i < N
Call Plugin.Bkgnd.LeftClick(H_商城(i), 295 + Rnd() * 9, 463 + Rnd() * 35)//点击开始解锁,用中间那个位置防止点到物品
i = i + 1
Delay 3000
Wend
j =j -1
Wend
j = InputBox("观察是否解锁完毕,完毕则输入0点击确认,否则输入1-10,数字代表进行的解锁次数,点击确认")
If j = 0 Then
TracePrint ("解锁完毕")
Else
Goto 点击解锁
End If
//------------------------------抢从这里开始-------------------------------------------------------------------
Call 刷新//有可能第一次进入商城,是无商品状态的(所以刷新一下)
Function 点击限时限量
i = 0
While i < N
Call Plugin.Bkgnd.LeftClick(H_商城(i), 74 + Rnd() * 75, 200 + Rnd() * 10)//点击限时限量
Delay 100+Rnd() * 20 //太快怕出问题
i = i + 1
Wend
Delay 2000//等待加载 可以去掉
End Function
Function 点击限量抢购
i = 0
While i < N
Call Plugin.Bkgnd.LeftClick(H_商城(i), 213 + Rnd() * 0, 89 + Rnd() * 0)//点击限量抢购
Delay 100+Rnd() * 20 //太快怕出问题
i = i + 1
Wend
Delay 2000//等待加载 可以去掉
End Function
Function 点击第一个物品
i = 0
While i < N
Call Plugin.Bkgnd.LeftClick(H_商城(i), 74 + Rnd() * 200, 214 + Rnd() * 432)//点击第一个物品
Delay 100+Rnd() * 20 //太快怕出问题
i = i + 1
Wend
Delay 2000//等待加载 可以去掉
End Function
Function 点击第二个物品
i = 0
While i < N
Call Plugin.Bkgnd.LeftClick(H_商城(i), 331 + Rnd() * 197, 215 + Rnd() * 430)//点击第二个物品
Delay 100+Rnd() * 20 //太快怕出问题
i = i + 1
Wend
Delay 2000//等待加载 可以去掉
End Function
Function 点击第三个物品
i = 0
While i < N
Call Plugin.Bkgnd.LeftClick(H_商城(i), 74 + Rnd() * 210, 696 + Rnd() * 11)//点击第三个物品
Delay 100+Rnd() * 20 //太快怕出问题
i = i + 1
Wend
Delay 2000//等待加载 可以去掉
End Function
Function 点击下面的立即购买
i = 0
While i < N
Call Plugin.Bkgnd.LeftClick(H_商城(i), 44 + Rnd() * 520, 719 + Rnd() * 51)//点击下面的立即购买
Delay 100+Rnd() * 20 //太快怕出问题
i = i + 1
Wend
Delay 2000//等待加载 可以去掉
End Function
Delay 5000 //进入商城限量外观--预购界面
Call 点击限时限量
Call 点击限量抢购
Call 点击第一个物品
Call 点击下面的立即购买
//----------每次抢购时间不一致,需要修改-----------等待----------20:15---------------------------------------
Rem 倒计数中1 //20.15,等待抢限量(和脚本系统时间进行倒计数运算)
Dim MyTime1
MyTime1 = Time
time数组 = Split(MyTime1, ":")
//倒计时20:14:55----20:15:05,这里可以修改测试
If time数组(0) = 20 and time数组(1)=14 and time数组(2)>=55 then
TracePrint ("正在执行抢盒子命令:>14分55秒"&MyTime1)
ElseIf time数组(0) = 20 and time数组(1) = 15 and time数组(2) < 5 Then
TracePrint ("正在执行抢盒子命令<15分5秒"&MyTime1)
ElseIf time数组(0) = 20 and time数组(1)=15 and time数组(2) >= 5 then
TracePrint ("时间已过,准备退出商城"&MyTime1)
Goto 退出商城1
Else
TracePrint ("时间还没到,回来继续等待"&MyTime1)
Delay 1000
Goto 倒计数中1
End If
i = 0 //时间到20:15,开始抢购
While i < N
Call Plugin.Bkgnd.LeftClick(H_商城(i), 208 + Rnd() * 194, 516 + Rnd() * 41)//点击二次确认购买
i = i + 1
Wend
Delay 100//不知道多少比较好,太快连点怕出问题
//如果没有通宝的话,这里会跳转另一个界面,剩下的操作就失效了(但是也没有通宝了,无所谓)
Goto 倒计数中1
Rem 退出商城1
Delay 30000
Function 点击x掉通宝不足界面
i = 0
While i < N
Delay 25
Call Plugin.Bkgnd.LeftClick(H_商城(i), 304 + Rnd() * 0, 571 + Rnd() * 0)//点击x掉通宝不足界面
Delay 55
i = i + 1
Wend
Delay 2000//等待加载 可以去掉
End Function
Function 点击左上返回键(B)
While B>0
i = 0
While i < N
Call Plugin.Bkgnd.LeftClick(H_商城(i), 71, 29)//点击,左上返回键
Delay 150
i = i + 1
Wend
B=B-1
Wend
Delay 1000//等待加载 可以去掉
End Function
Call 点击x掉通宝不足界面
//主要是还不知道,第一个物品抢完后会不会消失,还是不消失继续抢第二个物品。加一个点击第二个物品购买(我觉得可以刷新试试看)
Call 点击左上返回键(5)
Call 刷新
Call 点击限时限量
Call 点击限量抢购
Call 点击第一个物品
Call 点击第二个物品
Call 点击下面的立即购买
//-------------------------------等待------------------20:25---------------------------------------
Rem 倒计数中2 //20.25,等待抢限量(和脚本系统时间进行倒计数运算)
Dim MyTime2
MyTime2 = Time
time数组 = Split(MyTime2, ":")
//倒计时20:24:55----20:25:05,这里可以修改测试
If time数组(0) = 20 and time数组(1)=24 and time数组(2)>=55 then
TracePrint ("正在执行抢盒子命令:>29分40秒"&MyTime2)
ElseIf time数组(0) = 20 and time数组(1) = 25 and time数组(2)<5 Then
TracePrint ("正在执行抢盒子命令:<30分08秒"&MyTime2)
ElseIf time数组(0) = 20 and time数组(1)= 25 and time数组(2) >= 5 then
TracePrint ("时间已过,准备退出商城"&MyTime2)
Goto 退出商城2
Else
TracePrint ("时间还没到,回来继续等待"&MyTime2)
Delay 1000
Goto 倒计数中2
End If
i = 0 //时间到20:30,开始抢购
While i < N
Call Plugin.Bkgnd.LeftClick(H_商城(i), 208 + Rnd() * 194, 516 + Rnd() * 41)//点击二次确认购买
i = i + 1
Wend
Delay 100//不知道多少比较好,太快连点怕出问题
//如果没有通宝的话,这里会跳转另一个界面,剩下的操作就失效了(但是也没有通宝了,无所谓)
Goto 倒计数中2
Rem 退出商城2
Delay 30000
Call 点击x掉通宝不足界面
//主要是还不知道,第一个物品抢完后会不会消失,还是不消失继续抢第二个物品。加一个点击第二个物品购买(我觉得可以刷新试试看)
Call 点击左上返回键(5)
Call 刷新
Call 点击限时限量
Call 点击限量抢购
Call 点击第一个物品
Call 点击第三个物品
Call 点击下面的立即购买
//-------------------------------等待------------------20:30---------------------------------------
Rem 倒计数中3 //20.30,等待抢限量(和脚本系统时间进行倒计数运算)
Dim MyTime3
MyTime3 = Time
time数组 = Split(MyTime3, ":")
//倒计时20:29:55----20:30:05,这里可以修改测试
If time数组(0) = 20 and time数组(1)=29 and time数组(2)>=55 then
TracePrint ("正在执行抢盒子命令:>34分40秒"&MyTime3)
ElseIf time数组(0) = 20 and time数组(1) = 29 and time数组(2) < 5 Then
TracePrint ("正在执行抢盒子命令:<35分08秒"&MyTime3)
ElseIf time数组(0) = 20 and time数组(1)= 30 and time数组(2) >= 5 then
TracePrint ("时间已过,准备退出商城"&MyTime3)
Goto 退出商城3
Else
TracePrint ("时间还没到,回来继续等待"&MyTime3)
Delay 1000
Goto 倒计数中3
End If
i = 0 //时间到20:30,开始抢购
While i < N
Call Plugin.Bkgnd.LeftClick(H_商城(i), 208 + Rnd() * 194, 516 + Rnd() * 41)//点击二次确认购买
i = i + 1
Wend
Delay 100//不知道多少比较好,太快连点怕出问题
//如果没有通宝的话,这里会跳转另一个界面,剩下的操作就失效了(但是也没有通宝了,无所谓)
Goto 倒计数中3
Rem 退出商城3
Delay 30000
Call 点击x掉通宝不足界面
//主要是还不知道,第一个物品抢完后会不会消失,还是不消失继续抢第二个物品。加一个点击第二个物品购买(我觉得可以刷新试试看)
Call 点击左上返回键(5)
Call 刷新
//=================================抢完了,回到首页=================================================