挂海论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
 友情提示:文字/图片广告均非网站意见,请担保交易勿直接付款,由此产生的责任自负
游戏交易就上寄售网-专注稳定-诚信赢天下玩游戏来117游戏网(H5不下载也能玩手游传奇,吃鸡,竞技都有)天下盾/国内/免实名/免备案CDN无视一切CC/DD攻击 找塔科夫作者TG @wuhao1954 QQ283931494 →入驻S9企业发卡网各种全黑号辅助群:475351077
██【我要租此广告位】██... .
查看: 63363|回复: 16
打印 上一主题 下一主题

[按键辅助教程] 你一定想不到的解决鼠标飘移方法!!!

[复制链接]
3正式会员
142/300

142

积分

47

主题

5

听众
已帮网友解决0 个问题
好评
0
贡献
95
海币
290
交易币
0
跳转到指定楼层
楼主
发表于 2015-3-31 18:11:15 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
提醒:若下载的软件是收费的"请不要付款",可能是骗子,请立即联系本站举报,执意要付款被骗后本站概不负责。(任何交易请走第三方中介,请勿直接付款交易以免被骗!切记).

友情提示:文字/图片广告均非本站意见,请担保交易勿直接付款,由此产生的责任自负!!!↑↑



解决鼠标飘移~~SO EASY!!

本文按键学院提供技术支持







按键学院交流群(1群已满):376122403
零基础学按键精灵群(2群):372671254




小编最近想要写个问道游戏的脚本,但是遇到了一个很令人抓狂并且头疼的问题
就是诡异的——鼠标飘移现象。   
据小编的了解,这个鼠标飘移现象并不仅仅在问道游戏中会出现,像是梦幻西游、桃花源记等等游戏都有存在鼠标飘移的情况。
那具体什么是鼠标飘移呢?接下来就由小编带大家了解什么是鼠标飘移,并且解决鼠标飘移。



什么是鼠标飘移现象?

鼠标飘移就是使用 MoveTo 命令想要在游戏中把鼠标移动到指定的坐标点的时候,游戏中的鼠标却诡异的随机移动到该坐标周围的点。
接着给大家举个“栗子”看看到底神马是鼠标飘移   

比如想要移动到图中红框的部分点击,关闭掉这个窗口



使用抓抓工具获得这个关闭按钮的坐标是 (394,100),那正常情况下的代码该如何写呢?
  1. MoveTo 394, 100
  2. LeftClick 1
复制代码
但是!!如果直接按照这个代码执行的话就会下面的现象
         
              
童鞋们注意到了么?不管执行代码多少次,结果游戏中的鼠标就是一直在坐标点周围 “晃悠” 就是不点击我们指定的那个点。

小编当时遇到这个问题的时候简直是抓狂了!  

如果鼠标移动的位置都不准确的话,那整个脚本之后的操作基本上都无法继续下去了,难道就要放弃这个脚本么

No!!!俗话说的好 “道高一尺,魔高一丈” 经过咱们的按键工程师07 大大的研究,成功的解决了鼠标飘移的问题!

下面就让我们来看看如何处理鼠标飘移~~

解决思路

1、先用MoveTo 移动到指定坐标
2、在游戏中利用找图或者找色命令,找到游戏鼠标特征,从而得出鼠标当前位置
3、计算指定坐标和鼠标当前位置的差值
4、使用相对移动命令MoveR移动鼠标

具体步骤


1、先使用移动命令移动到指定的坐标
  1. moveto x, y
复制代码
2、这时候游戏中实际的鼠标位置和目标点其实是有偏移的,我们需要先找到游戏鼠标的实际所在的位置

游戏中鼠标的样子是一把剑的形状 我们就是要通过找到这把剑的位置来确定游戏中鼠标的实际位置
但是这把剑是会一直转动的,这该如何去找呢?

其实细心的童鞋可以发现这把剑的剑柄的部分是不动的   那我们就可以通过多点找色的方式去找到这个剑柄了。
  1. XY = FindMultiColor(0, 0, 1024, 768, "886020", "5|3|e0d078,6|5|c09c68,3|4|887038,-1|2|584028", 1.0, 1)
  2.         ZB = InStr(XY, "|")   
  3.         //下面这句将字符串转换成数值   
  4.         intX = Clng(Left(XY, ZB - 1)): intY = Clng(Right(XY, Len(XY) - ZB))
复制代码
注意:这里得到的坐标是剑柄的位置,游戏中鼠标是根据剑尖来判定位置的,所以在实际的使用中还需要减去一些距离才能得到剑尖的坐标点。

3、接着计算指定的坐标和鼠标当前坐标的差值。
  1. x轴的坐标差是:x - (intX-22)
  2. y轴的坐标差是:y - (intY-22)
复制代码
代码里的22就是剑柄的坐标和剑尖的距离,intX-22 的结果就是剑尖的x坐标。intY-22 就是剑尖的y坐标。

4、之后用相对移动命令去移动即可
  1. MoveR x - (intX-22),y - (intY-22)
复制代码
完整代码

我们可以把这个计算过程定义成一个函数,这样可以在之后的脚本中很方便的去调用他
  1. Function 移动(x, y)
  2.     //加入最大循环次数判断是否鼠标跑出画面
  3.     Dim tmp1        '计数变量
  4.     moveto x, y
  5.     Delay 100
  6.     //定位鼠标
  7.     Do
  8.         //多点找色,找鼠标剑柄,加偏色
  9.         XY = FindMultiColor(0, 0, 1024, 768, "886020", "5|3|e0d078,6|5|c09c68,3|4|887038,-1|2|584028", 1.0, 1)
  10.         ZB = InStr(XY, "|")   
  11.         //下面这句将字符串转换成数值   
  12.         intX = Clng(Left(XY, ZB - 1)): intY = Clng(Right(XY, Len(XY) - ZB))   
  13.         If intX >= 0 and intY >= 0 Then
  14.             TracePrint "找到" & intX & "," & intY
  15.             Exit Do
  16.         Else
  17.             TracePrint "未找到"
  18.             tmp1 = tmp1 + 1
  19.         End If
  20.         Delay 10
  21.         If tmp1 >= 20 Then
  22.             TracePrint "无法定位鼠标位置,重置鼠标位置"
  23.             moveto 400, 300
  24.             Delay 300
  25.             //重置计数变量
  26.             tmp1 = 0
  27.         End If
  28.     Loop
  29.     TracePrint "次数"&tmp1
  30.     Delay 50
  31.     TracePrint "坐标差:" & x - (intX-22) & "," & y - (intY-22)
  32.     MoveR x - (intX-22),y - (intY-22)
  33. End Function
复制代码
除了这个通过计算差值的方法外,还有没有其他的方法用来解决鼠标飘移呢?{:4_92:}
答案当然是有啦!!
而且方法比这个上面的方法要 简单粗暴!
{:4_89:}

后台移动鼠标解决飘移

后台命令的话直接就可以准确的移动操作,不需要单独的去计算差值
  1. Call register()  //注册大漠
  2. hwnd = dm.GetMousePointWindow()
  3. dm_ret = dm.BindWindow(hwnd,"dx","windows2","dx",1) //大漠绑定窗口
  4. dm.moveto x,y
  5. dm.leftclick
  6. Sub register()  //注册大漠
  7.     Set ws = createobject("Wscript.Shell")
  8.     ws.run "regsvr32 atl.dll /s"
  9.     Set ws = nothing
  10.     PutAttachment "G:\test", "dm.dll"
  11.     PutAttachment ".\Plugin" ,"RegDll.dll"
  12.     call Plugin.RegDll.Reg ( "G:\test\dm.dll")
  13.     Set dm = createobject("dm.dmsoft")
  14.     ver = dm.ver()
  15.     If len(ver) = 0 Then
  16.         MessageBox "插件注册失败,检查系统是否禁用了vbs脚本权限"
  17.         EndScript
  18.     End If
  19. End Sub
复制代码

这里还需要补充一点:这个后台的方法并不是所有游戏都能适用的,只有部分游戏使用后台方式可以避免出现鼠标飘移。

具体是哪些游戏,那就只能童鞋们自己测试了。








联系我时,请说是在 挂海论坛 上看到的,谢谢!



上一篇:XNF六点刷新疲劳值时从第一个角色开始执行
下一篇:QQ三国
免责声明:
1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关。一切关于该内容及资源商业行为与www.52ghai.com无关。

2、本站提供的一切资源内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。

3、本站信息来自第三方用户,非本站自制,版权归原作者享有,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。

4、如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵犯你版权的,请邮件与我们联系删除(邮箱:[email protected]),本站将立即改正。

7

积分

0

主题

3

听众
已帮网友解决0 个问题
好评
0
贡献
7
海币
0
交易币
0
沙发
发表于 2015-4-21 23:06:29 | 只看该作者
謝謝無私分享:)
3正式会员
106/300

106

积分

70

主题

3

听众
已帮网友解决0 个问题
好评
0
贡献
36
海币
1292
交易币
0
板凳
发表于 2015-4-21 23:06:30 | 只看该作者
看帖回帖,楼主辛苦了!       

74

积分

41

主题

3

听众
已帮网友解决0 个问题
好评
0
贡献
33
海币
1712
交易币
0
地板
发表于 2015-4-29 06:35:49 | 只看该作者
高手云集 马上来看看

1

积分

0

主题

2

听众
已帮网友解决0 个问题
好评
0
贡献
1
海币
13
交易币
0
5#
发表于 2015-5-8 11:35:43 | 只看该作者
支持, 海 强烈支持楼主ing……
3正式会员
298/300

298

积分

134

主题

3

听众
已帮网友解决0 个问题
好评
0
贡献
164
海币
1702
交易币
0
6#
发表于 2015-7-1 18:25:55 | 只看该作者
楼主天天快乐,吉祥如意!

1

积分

0

主题

2

听众
已帮网友解决0 个问题
好评
0
贡献
1
海币
1
交易币
0
7#
发表于 2015-7-1 18:51:00 | 只看该作者
今日小生得以一见楼主大贴实在是惶恐至急,何否,楼主此贴实在妙哉!

86

积分

25

主题

3

听众
已帮网友解决0 个问题
好评
0
贡献
61
海币
1987
交易币
0
8#
发表于 2015-7-19 08:45:21 | 只看该作者
帮你顶,人还是厚道点好
3正式会员
203/300

203

积分

69

主题

4

听众
已帮网友解决0 个问题
好评
0
贡献
134
海币
7231
交易币
0
9#
发表于 2015-7-31 22:47:34 | 只看该作者
超級精彩,我非常喜歡

1

积分

0

主题

1

听众
已帮网友解决0 个问题
好评
0
贡献
1
海币
7
交易币
0
10#
发表于 2015-9-19 10:09:52 | 只看该作者
我飘过一下
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

免责声明|Archiver|手机版|小黑屋|挂海论坛

GMT+8, 2024-5-6 04:26 , Processed in 0.702887 second(s), 36 queries , Gzip On.

Powered by Discuz! X3.2

本站资源来自互联网用户收集发布,如有侵权请邮件与我们联系处理。xhzlw@foxmail.com

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