TC官方合作论坛

 找回密码
 立即注册
查看: 71981|回复: 334

[TC5.0源码] 【一只熊】关于鼠标偏移解决办法(三步解决)

  [复制链接]
发表于 2014-3-14 18:15:33 | 显示全部楼层 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 一只熊 于 2014-3-14 19:45 编辑

【一只熊】转载注明出处
利用闲暇时间给大家讲讲鼠标偏移的解决办法。
原理其实很简单。
之前遇到这个问题网络上搜索的很多的解决办法都不行。
现在发表一个自己摸索的方法,完美解决这个问题。
为什么那么多别人的方法我这边用不了呢?

这的从游戏反按键类外挂讲起。首先,游戏窗口有一个鼠标,还有一个系统鼠标,那么游戏内的鼠标是跟系统鼠标移动的。有一个算法,计算他们之间的偏移量。由于鼠标移动到游戏窗口中时,只剩下游戏鼠标了,也就是我们看不到系统鼠标,那么肉眼是靠识别游戏鼠标进行的点击,系统鼠标在游戏鼠标一定的偏移范围内不断的变换位置,那么我们模拟挂的时候移动的是系统鼠标所以导致一段时间内点击的位置都不相同。


所以我们的解决办法就是获取系统鼠标在游戏中的位置。和游戏窗口的(0,0)(我们称这个坐标为校准坐标)点计算偏移量,在加上你要点击的位置就不会在出现点击不到的问题了
例如 我现在要点击,(100,100)这个游戏窗口位置,那么。现在由于鼠标偏移了导致我点到(90,90)这个位置。同理如果点击0,0点也就点到-10,-10的位置
那么也就是说我点击110,110这个位置是不是就点击到100,100这个位置了呢?

我们的思路就是把鼠标移动到0,0点。获取鼠标内存位置和0,0点做偏移。(x的偏移量)px=10,(y的偏移量)py=10
我们要点击(100,100)也就是x=100+px,y=100+py 这个才是我们移动的位置。

说了这么多,还是讲下主要的要怎么获取鼠标的内存地址呢?
步骤如下:为了避免沉贴,回复可见
游客,如果您要查看本帖隐藏内容请回复


我们调用的时候就封装个函数就可以了
我这边用的校准坐标是(512,0)

  1. function pMoveTo(intX,intY)

  2. dm.MoveTo(512,0)

  3. help.sleep(300)

  4. x=dm.ReadInt(hwnd,memaddrX,0)

  5. y=dm.ReadInt(hwnd,memaddrY,0)

  6. px=x-512

  7. py=y-0
  8. dm.MoveTo(intX+px,intY+py)
  9. help.sleep(300)
  10. dm.LeftClick()
  11. help.sleep(500)
  12. dm.MoveTo(512,0)
  13. endfunction

复制代码







回复

使用道具 举报

发表于 2014-3-14 18:26:34 | 显示全部楼层
长才踩踩踩踩踩踩踩踩踩踩踩踩踩踩踩
回复 支持 反对

使用道具 举报

发表于 2014-3-14 18:53:20 | 显示全部楼层
kk ba
回复

使用道具 举报

发表于 2014-3-14 18:56:28 | 显示全部楼层
看看那
回复

使用道具 举报

发表于 2014-3-14 19:09:43 | 显示全部楼层
回复

使用道具 举报

发表于 2014-3-14 19:36:04 | 显示全部楼层
看看
回复

使用道具 举报

发表于 2014-3-14 19:38:24 来自手机 | 显示全部楼层
看看
回复

使用道具 举报

发表于 2014-3-14 19:48:34 | 显示全部楼层
看看看噢噢噢噢哦哦哦---------------支持一下
回复 支持 反对

使用道具 举报

发表于 2014-3-14 19:49:22 | 显示全部楼层
本帖最后由 jimye0526 于 2014-3-14 19:51 编辑

就是直接读内存 读鼠标位置啊
既然你都读出鼠标位置了,移动鼠标还要用move命令么,直接写内存好了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-3-14 19:56:41 | 显示全部楼层
jimye0526 发表于 2014-3-14 19:49
就是直接读内存 读鼠标位置啊
既然你都读出鼠标位置了,移动鼠标还要用move命令么,直接写内存好了
...

尽量不写内存。。
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-5-19 22:31 , Processed in 0.040939 second(s), 22 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

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