开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 5966|回复: 16
收起左侧

[易语言] 用大漠插件后台找图,用着用着突然所有图片失效了,所有图必须重新截才可以用

[复制链接]
结帖率:67% (2/3)
发表于 2017-10-25 12:01:54 | 显示全部楼层 |阅读模式   福建省泉州市
20精币
用大漠插件后台找图,某个时间突然所有图片失效了,所有图必须重新截才可以用
这是怎么回事?


回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
快捷通道:申请荣誉值
结帖率:96% (45/47)

签到天数: 9 天

发表于 2017-10-25 12:07:33 | 显示全部楼层   江苏省南通市
更换了电脑的色位 分辨率 找图太过于精确 找图没加偏色
回复

使用道具 举报

结帖率:67% (2/3)
 楼主| 发表于 2017-10-25 12:08:41 | 显示全部楼层   福建省泉州市
a4406069 发表于 2017-10-25 12:07
更换了电脑的色位 分辨率 找图太过于精确 找图没加偏色

我个人什么设置配置都没进行修改过,就是用着用着就不行了。
回复

使用道具 举报

结帖率:67% (2/3)
 楼主| 发表于 2017-10-25 12:17:16 | 显示全部楼层   福建省泉州市
a4406069 发表于 2017-10-25 12:07
更换了电脑的色位 分辨率 找图太过于精确 找图没加偏色

色位,分辨率没修改过,我也重新确认过具体参数,是没有变化的。找图过于精确,这个也不是,之前0.9全部都可以找到,现在0.5都找不到。
色偏我填的000000,我不知道偏色该怎么填,试过填111111的时候很多找错的
回复

使用道具 举报

结帖率:76% (26/34)

签到天数: 2 天

发表于 2017-10-25 12:18:22 | 显示全部楼层   广西壮族自治区南宁市
木东白水 发表于 2017-10-25 12:08
我个人什么设置配置都没进行修改过,就是用着用着就不行了。

用着用着不行  你应该在代码里面加入  截图代码    如果截图出来一直都是那张  或者是黑的   那么就是你识别的图不刷新!
回复

使用道具 举报

结帖率:76% (26/34)

签到天数: 2 天

发表于 2017-10-25 12:29:03 | 显示全部楼层   广西壮族自治区南宁市
182868088 发表于 2017-10-25 12:18
用着用着不行  你应该在代码里面加入  截图代码    如果截图出来一直都是那张  或者是黑的   那么就是你 ...

代码发出来吧不然帮不到你
回复

使用道具 举报

结帖率:81% (13/16)
发表于 2017-10-25 12:48:54 | 显示全部楼层   广东省茂名市
看下代码   
回复

使用道具 举报

结帖率:67% (2/3)
 楼主| 发表于 2017-10-25 13:15:00 | 显示全部楼层   福建省泉州市
  1. //****************************************************************************************************************************************************
  2. //注册大漠插件
  3. Set dm = createobject("dm.dmsoft")
  4. Delay 100
  5. ver = dm.ver()
  6. Delay 100
  7. //TracePrint "大漠插件版本:"&ver
  8. If len(ver) =0 Then
  9.         Set ws = createobject("Wscript.Shell")
  10.         Delay 100
  11.         ws.run "regsvr32 x:\dm.dll /s"
  12.         Delay 100
  13.         Set ws = nothing
  14.         Delay 100

  15. End If
  16. rs = dm.SetShowErrorMsg(0)
  17. dm.SetPath ("F:\后台图片")
  18. //***************************************************************************************************************************************************
  19. //————————————————————————————————————————————————————————————————————————————————

  20. Do
  21. //如果模拟器没开,就无法获取句柄,绑定时会出错,所以在这里检测模拟器开了没
  22.        
  23.         //获得整个包含边框的mumu模拟器句柄以及分辨率Len_Mumu*Wid_Mumu
  24.         DimEnv  MumuHwnd
  25.         MumuHwnd = dm.FindWindow("Qt5QWindowIcon", "")//Qt5QWindowIcon木木的类名,包含外延
  26.         rs = dm.GetClientRect(MumuHwnd, X1_Mumu, Y1_Mumu, X2_Mumu, Y2_Mumu)
  27.         rs = dm.GetClientSize(MumuHwnd, Len_Mumu, Wid_Mumu)
  28.         DimEnv  Len_Mumu
  29.         Len_Mumu = X2_Mumu - X1_Mumu //窗口的长
  30.         DimEnv Wid_Mumu
  31.         Wid_Mumu = Y2_Mumu - Y1_Mumu //窗口的宽
  32.        
  33.         //获取模拟器子窗口句柄以及分辨率Len1_Mumu*Wid1_Mumu
  34.         DimEnv SubMumuHwnd
  35.         SubMumuHwnd = dm.FindWindowEx(MumuHwnd, "Qt5QWindowIcon","")//Qt5QWindowIcon木木的类名,不包含外延
  36.         rs = dm.GetClientRect(SubMumuHwnd, X1_SubMumu, Y1_SubMumu, X2_SubMumu, Y2_SubMumu)
  37.         DimEnv  Len_SubMumu
  38.         Len_SubMumu = X2_SubMumu - X1_SubMumu //窗口的长
  39.         DimEnv Wid_SubMumu
  40.         Wid_SubMumu = Y2_SubMumu - Y1_SubMumu //窗口的宽
  41.         If MumuHwnd = 0 or SubMumuHwnd = 0 Then
  42.                 dm.RunApp "D:\Program Files (x86)\Nemu\EmulatorShell\NemuLauncher.exe", 0//路径待修改
  43.                 Delay 30000
  44.         Else
  45.                 Exit Do       
  46.         End If
  47. Loop

  48. //绑定窗口的测试变量,防止出现多个窗口同时绑定窗口,那时候会100%按键精灵崩溃
  49. Dimenv bind
  50. bind=0
  51. //绑定窗口 long BindWindow(hwnd,display,mouse,keypad,mode)
  52. Do
  53.         If bind = 0 Then
  54.                 bind =1
  55.                 rs = dm.BindWindow(MumuHwnd, "dx2", "windows", "windows", 0)
  56.                 bind = 0
  57.                 Exit Do
  58.         Else
  59.                 Delay 1000       
  60.         End If
  61. Loop

  62. Dimenv 刷金币id

  63. Do
  64.         TracePrint "1"
  65.         rs = dm.FindPic(0, 0, len_Mumu, Wid_Mumu, "游戏图标.bmp|开始游戏.bmp|打叉1.bmp|打叉2.bmp|打叉3.bmp|打叉4.bmp|冒险模式.bmp|挑战.bmp|学院.bmp|大师.bmp|地.bmp|下一步.bmp|闯关.bmp|返回键.bmp|更新.bmp", "080808", 0.9, 0, x, y)
  66.         TracePrint "rs1="&rs
  67.         If rs = 11 or rs = 12  Then
  68.                 dm.moveto x, y
  69.                 rs = dm.leftclick
  70.                 Exit Do
  71.         ElseIf rs = 14 Then
  72.                 Delay 2000
  73.         ElseIf rs = - 1  Then
  74.                 TracePrint "rs=-1"
  75.         Else
  76.                 dm.moveto x, y
  77.                 rs = dm.leftclick       
  78.         End If
  79.         Delay 800
  80. Loop

  81. 刷金币id = BeginThread(刷金币)
  82. Do
  83.         Delay 5000
  84. Loop
  85. //***************************************************************************************************************************************************
  86. //————————————————————————————————————————————————————————————————————————————————


  87. Sub 刷金币
  88.         Rem mark
  89.         timestart=now
  90.         TracePrint "开始刷"
  91.         //注册并绑定窗口
  92.         Set dm = CreateObject("dm.dmsoft")
  93.         rs = dm.SetShowErrorMsg(0)
  94.         dm.SetPath ("F:\后台图片")
  95.         Do
  96.                 If bind = 0 Then
  97.                         bind =1
  98.                         rs = dm.BindWindow(MumuHwnd, "dx2", "windows", "windows", 0)
  99.                         bind = 0
  100.                         Exit Do
  101.                 Else
  102.                         Delay 1000
  103.                 End If
  104.         Loop

  105.         rs = dm.GetClientRect(SubMumuHwnd, a, b, c, d)
  106.         If c - a = 1024 Then
  107.         Else
  108.                 Call Lib.系统.结束进程("NemuPlayer.exe")
  109.                 RestartScript
  110.         End If
  111.         //开始刷副本
  112.         Do
  113.                 If datediff("s", timestart, now) > 300 Then
  114.                         Call Lib.系统.结束进程("NemuPlayer.exe")
  115.                         RestartScript
  116.                 End If
  117.                 rs = dm.FindPic(0, 0, len_SubMumu, Wid_SubMumu, "眼.bmp|闯关.bmp|点击屏幕继续.bmp|再次挑战.bmp|防沉迷确定.bmp|确定.bmp|加载.bmp", "000000", 0.9, 0, x, y)
  118.                 TracePrint "rs2="&rs
  119.                 If rs = 0 Then
  120.                         //已在副本中
  121.                         Exit Do
  122.                 ElseIf rs = 6 Then
  123.                         Delay 2000
  124.                 ElseIf rs > 0 and rs < 6 Then
  125.                         dm.moveTo x, y
  126.                         rs = dm.LeftClick
  127.                 ElseIf rs = - 1  Then
  128.                         End If
  129.                 Delay 500
  130.         Loop
  131.         Delay 200
  132.         //Call wangxiazou//开始往下走
  133.         Dim count,k
  134.         count = 0
  135.         k=0
  136.        
  137.         dm.KeyDown 65
  138.         Delay 1000
  139.         dm.Keyup 65
  140.         Delay 50
  141.        
  142.         Do
  143.                 If datediff("s", timestart, now) > 120 Then
  144.                         Call 重开
  145.                         Goto mark
  146.                 ElseIf datediff("s", timestart, now) > 300 Then
  147.                         Call Lib.系统.结束进程("NemuPlayer.exe")
  148.                         RestartScript
  149.                 End If
  150.                
  151.                 If count=0 Then
  152.                         dm.KeyDown 83
  153.                 End If
  154.                 //KeyDown "S", 1
  155.                 If k=20 then
  156.                         Call 重开
  157.                         Goto mark
  158.                 End If
  159.                
  160.                 rs = dm.FindPic(0+len_SubMumu/2, 0, len_SubMumu, Wid_SubMumu/2, "跳过.bmp|未选定的眼", "000000", 0.9, 0, x, y)
  161.                 If rs = - 1  Then
  162.                  
  163.                          If count = 0 Then
  164.                                 //第一次跳过
  165.                                 Delay 50
  166.                                 dm.Keydown 83
  167.                                 Delay 1000
  168.                         ElseIf count = 1 Then
  169.                                 //第二次跳过
  170.                                 rs = dm.FindPic(0, 0, len_SubMumu, Wid_SubMumu, "未过墙.bmp|过墙1.bmp|过墙2.bmp", "000000", 0.7, 0, x, y)
  171.                                
  172.                                 If rs = 0 Then
  173.                                         //未过墙,开始过墙
  174.                                         rs = dm.FindPic(0 + len_SubMumu / 2, 0 + Wid_SubMumu / 2, len_SubMumu, Wid_SubMumu, "一技能.bmp", "000000", 0.9, 0, x, y)
  175.                                        
  176.                                         If rs > - 1  Then
  177.                                                 //第一次点击技能
  178.                                                 dm.MoveTo x, y
  179.                                                 //MoveTo intX,intY
  180.                                                 Delay 50
  181.                                                 dm.LeftDown
  182.                                                 Delay 50
  183.                                                 dm.MoveTo x-len_SubMumu/25, y+wid_subMumu/6
  184.                                                 Delay 50
  185.                                                 dm.LeftUp
  186.                                                 //第二次点击技能位移
  187.                                                 Delay 2100
  188.                                                 dm.moveTo x, y
  189.                                                 Delay 50
  190.                                                 rs = dm.leftclick
  191.                                                 Delay 50
  192.                                         End If
  193.                                        
  194.                                 ElseIf rs = 1 or rs = 2 Then
  195.                                         rs = dm.FindPic(0+len_SubMumu/2, 0+ Wid_SubMumu/2, len_SubMumu, Wid_SubMumu, "三技能.bmp","111111", 0.9, 0, x, y)
  196.                                        
  197.                                         If rs > -1 Then
  198.                                                 dm.MoveTo x,y
  199.                                                 //MoveTo intx, inty
  200.                                                 Delay 50
  201.                                                 rs=dm.LeftClick
  202.                                                 Delay 50
  203.                                                 dm.KeyDown 68
  204.                                                 Delay 50
  205.                                                 dm.keydown 83
  206.                                                 Delay 50
  207.                                                 Delay 3000//有时候被打断,然后3秒被怪打死
  208.                                                 dm.keyup 83
  209.                                                 Delay 50
  210.                                                 dm.KeyUp 68
  211.                                                 Delay 50
  212.                                         End If
  213.                                 ElseIf rs = - 1  Then
  214.                                         TracePrint "未找到未过墙或者过墙,出错重开"
  215.                                         Call 重开
  216.                                        
  217.                                 End If
  218.                                
  219.                         ElseIf count = 2 Then
  220.                                 //第三次跳过
  221.                                 //未出现第三次跳过,则继续战斗
  222.                                 rs = dm.FindPic(0 , 0 , len_SubMumu, Wid_SubMumu, "一技能.bmp|二技能.bmp|普通攻击.bmp", "000000", 0.9, 0, x, y)
  223.                                 If rs = 0 Then
  224.                                         dm.moveto x, y
  225.                                         rs = dm.LeftClick
  226.                                         Delay 300
  227.                                         dm.moveto x, y
  228.                                         rs = dm.LeftClick
  229.                                 ElseIf rs = 1 Then
  230.                                         dm.moveto x, y
  231.                                         rs = dm.LeftClick
  232.                                 ElseIf rs = 2  Then
  233.                                         dm.moveto x, y
  234.                                         rs = dm.LeftClick
  235.                                 End If
  236.                         ElseIf count = 3 Then
  237.                                 //战斗结束,本次刷完
  238.                                 Exit Do
  239.                         End If
  240.                 ElseIf rs = 0 Then
  241.                         If count = 0 Then
  242.                                 dm.keyup 83
  243.                         End If
  244.                         dm.MoveTo x, y
  245.                         rs = dm.leftClick
  246.                         count = count + 1
  247.                 ElseIf rs = 1 Then
  248.                         dm.MoveTo x, y
  249.                         rs = dm.leftClick
  250.                 End If
  251.                 If count = 0 Then
  252.                         k = k + 1
  253.                 End If
  254.                 Delay 500
  255.         Loop
  256.         Goto mark
  257.         //新刷金币id = BeginThread(刷金币)
  258.         //刷金币id = 新刷金币id
  259. End Sub

  260. Sub 重开
  261.         TracePrint "重开"
  262.         Set dm = CreateObject("dm.dmsoft")
  263.         rs = dm.SetShowErrorMsg(0)
  264.         dm.SetPath ("F:\后台图片")
  265.         Do
  266.                 If bind = 0 Then
  267.                         bind =1
  268.                         rs = dm.BindWindow(MumuHwnd, "dx2", "windows", "windows", 0)
  269.                         bind = 0
  270.                         Exit Do
  271.                 Else
  272.                         Delay 1000
  273.                 End If
  274.         Loop
  275.         Do
  276.                 rs = dm.FindPic(0, 0, len_SubMumu, Wid_SubMumu, "下一步.bmp|退出本局.bmp|返回1.bmp|返回2.bmp|设置.bmp", "000000", 0.7, 0, x, y)
  277.                 TracePrint "rs=" & rs
  278.                 If rs = 3 or rs = 1 or rs = 2 or rs = 4 Then
  279.                         dm.moveto x, y
  280.                         rs = dm.LeftClick
  281.                 ElseIf rs = 0 Then
  282.                         dm.moveto x, y
  283.                         rs = dm.LeftClick
  284.                         Exit Do
  285.                 End If
  286.                 Delay 1000
  287.         Loop
  288. End Sub
  289. //***************************************************************************************************************************************************
  290. //————————————————————————————————————————————————————————————————————————————————

  291. Sub onscriptExit()
  292.         rs = dm.unbindWindow()
  293.         TracePrint "解绑成功"
  294. End Sub
复制代码
回复

使用道具 举报

结帖率:67% (2/3)
 楼主| 发表于 2017-10-25 13:15:21 | 显示全部楼层   福建省泉州市
182868088 发表于 2017-10-25 12:18
用着用着不行  你应该在代码里面加入  截图代码    如果截图出来一直都是那张  或者是黑的   那么就是你 ...

代码发出来了
回复

使用道具 举报

结帖率:67% (2/3)
 楼主| 发表于 2017-10-25 13:15:36 | 显示全部楼层   福建省泉州市
a4406069 发表于 2017-10-25 12:07
更换了电脑的色位 分辨率 找图太过于精确 找图没加偏色

代码发出来了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

关闭

精易论坛 - 有你更精彩上一条 /2 下一条

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备2025452707号) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表