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 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578
| Sub 获取句柄() hwnd = dm.FindWindowEx(0, "Game_client", "血饮龙纹-双线59服") dm.MoveWindow hwnd, 0, 0//移动窗口到左上角 hwnd = dm.FindWindowEx(hwnd, "", "") hwnd = dm.FindWindowEx(hwnd, "", "") hwnd = dm.FindWindowEx(hwnd, "", "") TracePrint "句柄: " & hwnd dm.SetPath "d:\pic" //dm_ret = dm.BindWindowEx(hwnd,"dx2","dx.mouse.position.lock.api|dx.mouse.position.lock.message|dx.mouse.clip.lock.api|dx.mouse.input.lock.api|dx.mouse.state.api|dx.mouse.api|dx.mouse.cursor","dx.keypad.input.lock.api|dx.keypad.state.api|dx.keypad.api|dx.keypad.raw.input","dx.public.active.api|dx.public.active.message",0) dm_ret = dm.BindWindowEx(hwnd, "gdi", "dx2", "windows", "", 0) //dm_ret = dm.BindWindowEx(hwnd,"dx2","dx.mouse.state.api|dx.mouse.api|dx.mouse.cursor","dx.keypad.state.api|dx.keypad.api","dx.public.active.api|dx.public.active.message",0) Delay 1500 End Sub
Sub Tap(x,y) dm.MoveTo x,y Delay 50 dm.LeftClick Delay 150 End Sub
Sub TapR(x,y) dm.MoveTo x,y Delay 50 dm.RightClick Delay 150 End Sub
Function 多点比色(array) Dim intX, intY 多点比色 = False 多点比色 = dm.FindMultiColor(0,0,1464,854,array(0),array(1),0.9,0,intX,intY) End Function
Function 等待多点比色(array, time) Dim intX, intY 等待多点比色 = False Do If dm.FindMultiColor(0, 0, 1464,854, array(0), array(1), 0.9, 0, intX, intY) Then 等待多点比色 = True Exit Do Else Delay time * 100 End If Loop End Function
Function 自动攻击() Dim 检测未在攻击 检测未在攻击 = 0 For 10 If 多点比色(比色_攻击) Then //TracePrint "自动攻击中" 自动攻击 = true Exit For Else 检测未在攻击 = 检测未在攻击 + 1 If 检测未在攻击 = 10 Then TracePrint "检测未在攻击,准备开启自动攻击"&检测未在攻击 自动攻击 = False End If End If Delay 100 Next End Function
Function 开启自动攻击() //If 多点比色(比色_危险区) Then If 自动攻击() Then Else TracePrint "开启自动攻击" Tap 1111,641 //dm.KeyPressChar "z" Delay 1000 End If //Else //TracePrint "安全区,无需自动攻击" //End If End Function
Dim 无怪随机间隔,无怪随机开始时间 无怪随机间隔 = 50 无怪随机开始时间 = 当前时间() Function 无怪随机() If 多点比色(比色_危险区) Then If 多点比色(比色_有怪) Then TracePrint "随机->有怪" 无怪随机开始时间 = 当前时间() Else TracePrint "随机->持续无怪时间" & int(当前时间() - 无怪随机开始时间) & "秒" If 当前时间() - 无怪随机开始时间 > 无怪随机间隔 * 1 Then 点击随机 无怪随机开始时间 = 当前时间() End If End If End If End Function
Dim 无怪回城间隔,无怪回城开始时间 无怪回城间隔 = 3*60 无怪回城开始时间 = 当前时间() Function 无怪回城() If 多点比色(比色_危险区) Then If 多点比色(比色_有怪) Then TracePrint "回城->有怪" 无怪回城开始时间 = 当前时间() Else TracePrint "回城->持续无怪时间" & int(当前时间() - 无怪回城开始时间) & "秒" If 当前时间() - 无怪回城开始时间 > 无怪回城间隔 * 1 Then 点击回城 无怪回城开始时间 = 当前时间() End If End If End If End Function
Sub 点击回城() Dim intX,intY dm_ret = dm.FindMultiColor(588, 640, 878, 695, 比色_回城(0), 比色_回城(1), 0.9, 0, intX, intY) If intX >= 0 and intY >= 0 Then //TapR intX, intY dm.keypresschar "q" TracePrint "点击回城" Delay 1000 Tap 750, 450 Delay 2000 Else TracePrint "未找到回城" End If End Sub
Sub 点击随机() Dim intX,intY dm_ret = dm.FindMultiColor(588, 640, 878, 695, 比色_随机(0), 比色_随机(1), 0.8, 0, intX, intY) If intX >= 0 and intY >= 0 Then //TapR intX, intY dm.keypresschar "w" TracePrint "点击随机" Delay 2000 Else TracePrint "未找到随机" End If End Sub
Function 自动购买随机() Tap 1157,778 TracePrint "点击商城" Delay 500 If 等待多点比色(Array("E7AE1C","0|-5|710602,3|0|510503,-4|1|000000"), 3) Then Tap 841, 428 Delay 500 For 13 dm.WheelDown Delay 50 Next Tap 508,579 TracePrint "点击随机" Delay 500 If 等待多点比色(Array("BBAE96","-1|0|111111,2|3|4D4840,4|2|D2C3A8,4|0|F8E6C6"), 3) Then Tap 965,568 TracePrint "点击确定" Delay 500 Tap 1118,221 TracePrint "关闭商城" Delay 1000 End If End If End Function
Function 自动购买回城() Tap 1157,778 TracePrint "点击商城" Delay 500 If 等待多点比色(Array("E7AE1C","0|-5|710602,3|0|510503,-4|1|000000"), 3) Then Tap 841, 428 Delay 500 For 13 dm.WheelDown Delay 50 Next Tap 992,426 TracePrint "点击回城" Delay 500 If 等待多点比色(Array("BBAE96","-1|0|111111,2|3|4D4840,4|2|D2C3A8,4|0|F8E6C6"), 3) Then Tap 965,568 TracePrint "点击确定" Delay 500 Tap 1118,221 TracePrint "关闭商城" Delay 1000 End If End If End Function
Dim 副本数组, 顺序副本下标, 选择条件 副本数组 = Array() 顺序副本下标 = 0 Function 自动副本() If 多点比色(比色_安全区) Then If 顺序副本下标 = UBound(副本数组) Then 选择条件 = 副本数组(顺序副本下标) 顺序副本下标 = 0 Else 选择条件 = 副本数组(顺序副本下标) 顺序副本下标 = 顺序副本下标 + 1 End If TracePrint 选择条件 If 选择条件 = null Then TracePrint "未选择副本" Delay 1000 End If UserVar 选择条件=0 "输入(0~9)数字" Select Case 选择条件 Case 神之领域六层 Msgbox "你输入的数字为:0" Case 封号神殿六层 Msgbox "你输入的数字为:1" Case Else Msgbox "你输入的数字不正确,请输入(0~9)数字!" End Select 无怪回城开始时间 = 当前时间() 无怪随机开始时间 = 当前时间() End If End Function
Randomize Function 自动下本() If 多点比色(比色_安全区) And dm.FindMultiColor(1349, 30, 1465, 58, "D9D9D9", "-2|-1|5A5A59,-4|2|636363,-7|4|636363,-8|4|D9D9D9,-8|2|9A9A9A", 0.9, 1, intX, intY) Then MyValue = Int((2 * Rnd) + 1) //MyValue = 3 Select Case MyValue Case 1 Tap 1261, 69 TracePrint "点击首领挑战" Delay 1500 Tap 445, 670 TracePrint "点击鸿蒙" Delay 1000 TracePrint "随机到封号神殿" Tap 808,447 TracePrint "点击封号神殿六层" Delay 1000 Tap 187, 175 TracePrint "点击神殿卷轴" Delay 1000 Tap 795, 453 TracePrint "购买神殿卷轴" Delay 1000 Tap 246,438 TracePrint "点击点击封号神殿" Delay 1000 Case 2 TracePrint "随机到冰雪森林" Delay 500 If dm.FindMultiColor(911,32,1346,194,"C39F57","0|5|1E0906,5|5|F8EA68,-2|6|885B22,-2|8|1E0906,2|11|3B2F1B", 0.9, 1, x, y) Then TracePrint "准备点击迷失之地" Tap x, y Delay 1000 Else TracePrint "未检测到迷失之地" Tap 1324, 73 Delay 1000 If dm.FindMultiColor(911,32,1346,194,"C39F57","0|5|1E0906,5|5|F8EA68,-2|6|885B22,-2|8|1E0906,2|11|3B2F1B", 0.9, 1, x, y) Then TracePrint "准备点击迷失之地" Tap x, y Delay 1000 End If End If If dm.FindMultiColor(289, 150, 1137, 735, "6C6861","0|1|111111,0|2|6C6861,0|3|111111,0|4|615E58,-15|5|3E3C39,-15|6|2F2D2B", 0.9, 1, x, y) Then TracePrint "点击冰霜大陆" Tap x, y Delay 1000 If dm.FindMultiColor(289, 150, 1137, 735, "28EF01","0|-1|111111,3|-2|25CE03,1|2|28EF01,1|3|209E07,6|2|25CE03", 0.9, 1, x, y) Then TracePrint "点击立即前往" Tap x, y Delay 1000 End If Do If dm.FindMultiColor(0, 0, 1920, 1080,"087F02","1|0|0AD300,9|0|09B000,7|3|0CFE00,10|3|0BDF00,2|3|0CFE00,5|5|08A400", 0.9, 1, intX, intY) Then Tap intX,intY TracePrint "点击冰雪森林跨服" Delay 4000 If 多点比色(array("FFE400","0|1|685E0B,0|2|FFE400,2|2|FFE400,2|1|8A7D08,2|0|FFE400,1|7|111111")) Then Tap 87,179 TracePrint "点击冰雪森林" Delay 1000 Tap 755,265 Exit Do End If End If Loop End If Case Else Tap 1261, 69 TracePrint "点击首领挑战" Delay 1500 Tap 445, 670 TracePrint "点击鸿蒙" Delay 1000 TracePrint "随机到神铸遗迹" Tap 617, 447 TracePrint "点击神之领域六层" Delay 1000 Tap 561, 53 TracePrint "关闭窗口" Delay 500 Do If dm.FindMultiColor(0, 0, 1920, 1080, "0CFA00", "6|-4|0ADE00,1|-2|08B000,2|-2|08B000,6|-6|FDCD2E,6|2|044F00,7|2|011F00,2|4|020100", 0.9, 1, intX, intY) Then Tap intX,intY TracePrint "点击神铸遗迹" Delay 3000 If 多点比色(array("ECDBBD", "2|0|655F53,2|4|F8E6C6,-1|4|F8E6C6,-1|2|111111")) Then Tap 90, 288 TracePrint "点击神铸遗迹一层" Delay 1000 Exit Do End If End If Loop End Select
无怪回城开始时间 = 当前时间() 无怪随机开始时间 = 当前时间() End If End Function
Function 自动协助() If 判断时间是否介于(12, 12) or 判断时间是否介于(21, 21) Then If 多点比色(比色_协助) Then Tap 1295,335 TracePrint "前往协助" Delay 500 开启自动攻击 Delay 500 If dm.FindMultiColor(1346, 32, 1466, 56, "838383", "1|0|ECECEC,1|3|838383,4|5|B6B6B6,5|5|9A9A9A,6|3|202021,10|2|838383,9|1|111111", 0.9,1, x, y) Then TracePrint "检测到在恶魔祭坛" Delay 2000 Do If 多点比色(比色_有怪) Then TracePrint "恶魔祭坛->有怪" Delay 2000 Else TracePrint "恶魔祭坛->无怪,准备回城" Delay 500 Tap 300, 230 Delay 500 Tap 840, 510 Delay 500 Exit Do End If Loop End If Else TracePrint "未检测到协助" End If Else End If End Function
Function 自动攻城() If 多点比色(比色_攻城) Then Tap 539, 638 TracePrint "检测到攻城,点击感叹号" Delay 1000 Tap 629, 510 TracePrint "点击石原攻城" Delay 1000
If dm.FindMultiColor(1346, 32, 1466, 56, "F1F1F1", "0|1|B6B6B6,1|1|111111,2|2|E6E6E6,4|1|B6B6B6,-2|2|232223", 0.9, 1, x, y) Then If 多点比色(比色_攻击) Then TracePrint "未开启自动攻击,准备开启自动攻击" dm.keypresschar "z" Delay 1000 Else TracePrint "已开启自动攻击" End If Do If 多点比色(比色_攻城) Then 开启自动攻击 TracePrint "自动攻城中..." 自动回收 Delay 1000*60 Else TracePrint "攻城结束" Exit Do End If Loop Else TracePrint "不在石原,准备回城" dm.keypresschar "q" Delay 1000 End If 无怪回城开始时间 = 当前时间() 无怪随机开始时间 = 当前时间() End If End Function
Function 异常处理() If dm.FindMultiColor(0,0,2000,2000, 比色_复活(0), 比色_复活(1), 0.9, 1, x, y) Then TracePrint "检测到死亡,点击安全复活" Tap x, y Delay 2000 End If If dm.FindMultiColor(513,369,960,545, "D3D3D3","2|1|CCCCCC,1|4|838383,0|4|D3D3D3,-1|4|4B4B4B,-1|7|CCCCCC,-2|7|ECECEC,4|7|111111,6|7|9A9A9A,8|7|636363,8|13|151413", 0.9, 1, x, y) Then TracePrint "检测到行会祭坛,点击进入" Tap 839,510 Delay 2000 开启自动攻击 Delay 2000 Do If 多点比色(比色_有怪) Then TracePrint "行会祭坛中" Delay 2000 Else Delay 1000 Exit Do End If Loop End If If dm.FindMultiColor(1245,502,1321,536, "ECDBBD","0|-2|111111,-3|-2|5E5850,-2|0|111111,-1|0|9E9380,1|1|655F53,-1|9|BBAE96,-2|11|4D4840", 0.9, 1, x, y) Then TracePrint "检测到有装备更新" Tap x,y Delay 1500 If dm.FindMultiColor(511,371,960,546,"E6E6E6","-1|0|646463,-2|3|9A9A9A,2|3|B6B6B6,1|4|CCCCCC,5|2|838383", 0.9, 1, x, y) Then TracePrint "检测到装备可快速传承" Tap 840, 510 Delay 1000 End If End If If 多点比色(比色_冰霜大陆) Then Tap 1261, 70 Delay 1000 Tap 446, 435 Delay 1000 Tap 615, 449 Delay 1000 End If If 多点比色(比色_攻城) Then Else If dm.FindMultiColor(1346, 32, 1466, 56, "F1F1F1", "0|1|B6B6B6,1|1|111111,2|2|E6E6E6,4|1|B6B6B6,-2|2|232223", 0.9, 1, x, y) Then TracePrint "在石原未攻城,准备回城" dm.keypresschar "q" Delay 1000 End If End If
End Function
Dim 自动回收间隔,自动回收开始时间,intX,intY 自动回收间隔 = 60 自动回收开始时间 = 当前时间() Function 自动回收() TracePrint "自动回收倒计时" & - int((当前时间() - 自动回收开始时间 - 自动回收间隔)) & "秒" If 当前时间() - 自动回收开始时间 > 自动回收间隔 * 1 Then Tap 83, 295//激活窗口 Delay 500 dm.KeyPressChar "esc" TracePrint "回到主界面" Delay 500 If 多点比色(array("F5DE44", "2|-1|1A191A,0|-5|263A5F")) Then Tap 1116,695 TracePrint "打开背包" Delay 1000 If 等待多点比色(array("FFE400", "0|3|0E5197,4|1|102D4B"),5) Then dm_ret = dm.FindPic(0, 0, 1464, 854, "D:\pic\回收.bmp", "000000", 0.9, 0, intX, intY) If intX >= 0 and intY >= 0 Then Tap intX,intY //Tap 645,633 //点击回收 Delay 500 TracePrint "点击回收" Tap 935,609//点击快速回收 TracePrint "回收成功" Delay 500 Else TracePrint "回收失败" End If End If Tap 727, 231//关闭背包 TracePrint "关闭背包" Delay 3000 End If 自动回收开始时间 = 当前时间() End If End Function
Dim 比色_危险区, 比色_安全区,比色_有怪 ,比色_协助 ,比色_随机, 比色_回城 比色_危险区 = Array("FF0500","-2|-3|6C0C0A,-1|3|4C0E0D,-1|-1|111111") 比色_安全区 = Array("28EF01","0|-2|23BC05,-1|2|25D703,1|2|312A22,1|1|111111") 比色_有怪 = Array("F1F1F1","0|1|111111,1|1|636363,7|4|E6E6E6,12|-10|FF0000") 比色_协助 = Array("D8C103","-1|1|111111,1|2|765F3C,-2|2|C0AD04,-3|-2|8A7D08") 比色_随机 = Array("D9CE51","3|0|8E5F0E,2|-5|C7C3B0,-3|2|2E1F08,-4|7|413D3A") 比色_回城 = Array("A70ED9", "5|-1|9606CF,8|1|E30AF4,-2|5|A70ED9,5|5|513F57") 比色_攻击 = Array("F47C0E","4|-2|EA6A08,2|0|FFFFFF,-1|0|FDCB53,-1|1|F47C0E") 比色_攻城 = Array("FCF7DA", "2|16|C09D4A,1|24|C09D4A,1|26|201C18,1|29|9B7B39,1|30|C97F26") 比色_复活 = Array("B7AF9C", "0|3|F2E7CE,0|5|EDE2CA,3|4|5D4B27,0|8|F2E7CE,0|9|58462E,-4|6|111111,-4|5|68532A,17|4|725C3A,17|1|F2E7CE,17|0|9B9485,12|1|5C4727") 比色_冰霜大陆 = Array("111111","0|-1|C5C5C5,-1|-1|F1F1F1,-1|-2|111111,0|-2|636363,1|-2|D9D9D9,2|-2|636363,12|2|636363,12|3|CCCCCC")
大漠注册() 获取句柄
Do 异常处理 自动回收 开启自动攻击 Delay 1000 * 2 无怪随机 无怪回城 自动协助 自动攻城 自动下本 Loop
Sub OnScriptExit() dm.UnBindWindow set dm = nothing End Sub
Function 当前时间() 当前时间 = time() * 100000 End Function Sub 大漠注册() //[把dm.dll和RegDll.dll放到附件] PutAttachment "C:\test_game", "dm.dll" PutAttachment ".\Plugin" ,"RegDll.dll" Call Plugin.RegDll.Reg("c:\test_game\dm.dll") Set dm = createobject("dm.dmsoft") TracePrint dm.Ver() // dm_ret = dm.Reg("testhlee1e7a5cf173317f0618377c923b09bc","wNLupvlKgcbjykac") // abcdefg是您的注册码. 在大漠插件网站后台可以直接获取. // if dm_ret <> 1 then // messagebox "注册失败,返回值是:"& dm_ret // EndScript // Else // TracePrint "注册成功,返回值是:"& dm_ret // End If End Sub
Function 判断时间是否介于(s1,s2) If hour(Now()) >= s1 and hour(Now()) <= s2 Then 判断时间是否介于 = True Else 判断时间是否介于 = False End If Delay 500 End Function
|