学习游戏辅助制作:按键精灵模拟鼠标动作防检测
学习怎么用按键精灵制作游戏辅助——脚本源代码干货分享

学习怎么用按键精灵制作游戏辅助——脚本源代码干货分享一、用按键精灵确定人物朝向(以剑灵自动寻路为例)的代码在剑灵右上角的小地图里找色/找图,箭头坐标存储在(x1,y1),箭尾坐标存储在(x2,y2) FindColor1200,0,1920,300,"箭头颜色",x1,y1If x1 > 0 And y1> 0 ThenEnd IfFindColor1200,0,1920,300,"箭尾颜色",x2,y2If x1 > 0 And y1> 0 ThenEnd If'计算斜率/正切值斜率= (y1 - y2) / (x1 -x2)'计算角度角度= Atn(斜率)二、用按键精灵解决用户密码泄露问题的代码Function 加解密(源文件, 秘钥)Dim Z, iDim A, B, C加解密= ""If Len(源文件) = 0 Then’如果密码为空,则初始化为空加解密= ""Exit FunctionEnd If'调用Rnd函数使以后Rnd函数所产生的Rnd为相同的伪随机数列Z = Rnd(-秘钥)For i = 1 To Len(源文件)’将密码字符串一个一个字符通过加密,转换成另一个字符C = Mid(源文件, i, 1)A = Asc(C)B = Int(126 * Rnd) And&H7F’这里的&H7F,是指生成的伪随机代码,只取7位,以免数据溢出A = A Xor B’Xor是可逆的,第一次运行时是得到加密后的数据,再运行一次是得到解密后的数据C = Chr(A)加解密= 加解密+ CNextEnd Function举个例子吧~Function 加解密(源文件, 秘钥)Dim Z, iDim A, B, C加解密= ""If Len(源文件) = 0 Then加解密= ""Exit FunctionEnd If'调用Rnd函数使以后Rnd函数所产生的Rnd为相同的伪随机数列Z = Rnd(-密钥)For i = 1 To Len(源文件)C = Mid(源文件, i, 1)A = Asc(C)B = Int(126 * Rnd) And&H7FA = A Xor BC = Chr(A)加解密= 加解密+ CNextEnd FunctionEvent Form1.Load//获取小节名(如"e1df741f-d5ec-4ad7-969d-adb139c6a24f"),同一个Q文件生成的小节名不变a = GetMacroID()//获取到当前脚本/小精灵de ID加密文件=Plugin.File.ReadINI("e1df741f-d5ec-4ad7-969d-adb139c6a24f","Form1 .InputBox2.T ext", ".\uservar.ini")解密文件= 加解密(加密文件, 1234567890)'这里的1234567890是假使的密钥,可以修改,注意保密Form1.InputBox2.T ext = 解密文件End Event//写入密码信息源文件= Form1.InputBox2.T ext加密文件= 加解密(源文件, 1234567890)CallPlugin.File.WriteINI("e1df741f-d5ec-4ad7-969d-adb139c6a24f","Form1.InputBox2.T ext", 加密文件, ".\uservar.ini")//输出信息RunApp "notepad.exe"SayString Form1.InputBox1.T extKeyPress "Enter", 1SayString 源文件三、按键精灵快速排序的代码su = "6|1|2|7|9|3|4|5|10|8"su=Split(su, "|")L = UBound(su)Call ks(0, L)Function ks(L, B)If L > B ThenExit FunctionEnd If //判断数组上标下标是否超出范围i = Lj = Bkey =int( su(L) ) //数组第一位提取作为基数While j>iWhile int ( su(j)) >= key and j > i //要先从最右边开始找找到第一个小于key的数这里添加的j>i的判断是为了防止j的值不断递减导致下标越界j = j - 1WendWhile int (su(i)) <= key and j > i //从最左边开始找找到第一个大于key的数(这里的字符串数组需要转换为数值型)i = i + 1WendIf j>i then // 将和基数key对比得到的两个数对换将大于key的值往右边放小于key的值往左边放T = su(i)su(i) = su(j)su(j) = TEnd IfWend // 这个While 循环当i=j 第一轮比较完退出su(L) = su(i) // 重新设置数组第一个元素为基数su(i) = key// 基数归位(排完一轮之后左边的数<基数<右边的数那么基数就到了排序中它该在的位置。
网上学习鼠标10分钟自动点击按键精灵使用设置方法脚本编辑

⽹上学习⿏标10分钟⾃动点击按键精灵使⽤设置⽅法脚本编辑⾯对⼀些⽹上学习或者⽹上游戏,要求每隔多少时间点击⼀下,才算有效记录。
我们这些懒⼈,怎样能⽼等到那个时间就去点击⼀下呢。
那有什么好的⽅法吗?下⾯讲⼀下,每隔⼗分钟点击⼀下记录的⽅法。
1.下载按键精灵2.安装3.在写脚本这⾥新建⼀个4⾥⾯的内容很简单⾃⼰可以看明⽩的5。
如果不明⽩可以看这些代码MoveTo 112, 286 (这个意思是⿏标移动那个位置, 112是X 286是Y)这个位置你可以⽤软件上⾯的抓抓找到坐标的。
(4个⾓的坐标你可以任意拖动那个记时的对话框模拟它跑到4个⾓的位置)LeftClick 1 (这个意思是⿏标的动作是左键点击⼀下)Delay 600000 (这个意思是时间相隔600000毫秒=10分钟)6.如果还不会⾃⼰设置可以下载我的⼀个代码把它复制到上图中间部分(点击源⽂件)复制然后再设置⼀下右边位置循环重复次数直到终⽌就好了。
注意:代码包⾥⾯设置是⼀次点击8下(包括4个⾓,每个⾓2下,保证点击到按钮,当然你可以根本实际设置任何位置操作)但坐标⼤⼩与你⽤的浏览器,显⽰器尺⼨不同,有所不同。
还不会设置请联系。
代码.zip(787 Bytes, 下载次数: 6)MoveTo 112, 286LeftClick 1MoveTo 151, 286LeftClick 1Delay 1000MoveTo 1176, 286 LeftClick 1 MoveTo 1246, 286 LeftClick 1 Delay 1000 MoveTo 72, 824 LeftClick 1 MoveTo 155, 824 LeftClick 1 Delay 1000 MoveTo 1166, 824 LeftClick 1 MoveTo 1243, 824 LeftClick 1 Delay 600000 MoveTo 112, 286 LeftClick 1 MoveTo 151, 286 LeftClick 1 Delay 1000 MoveTo 1176, 286 LeftClick 1 MoveTo 1246, 286 LeftClick 1 Delay 1000 MoveTo 72, 824 LeftClick 1 MoveTo 155, 824 LeftClick 1 Delay 1000 MoveTo 1166, 824 LeftClick 1 MoveTo 1243, 824 LeftClick 1设置好了。
游戏外挂基本原理及实现

游戏外挂基本原理及实现游戏外挂基本原理及实现游戏外挂已经深深地影响着众多⽹络游戏玩家,今天在⽹上看到了⼀些关于游戏外挂编写的技术,于是转载上供⼤家参考 1、游戏外挂的原理 外挂现在分为好多种,⽐如模拟键盘的,⿏标的,修改数据包的,还有修改本地内存的,但好像没有修改服务器内存的哦,呵呵。
其实修改服务器也是有办法的,只是技术太⾼⼀般⼈没有办法⼊⼿⽽已。
(⽐如请GM去夜总会、送礼、收⿊钱等等办法都可以修改服务器数据,哈哈) 修改游戏⽆⾮是修改⼀下本地内存的数据,或者截获API函数等等。
这⾥我把所能想到的⽅法都作⼀个介绍,希望⼤家能做出很好的外挂来使游戏⼚商更好的完善⾃⼰的技术。
我见到⼀篇⽂章是讲魔⼒宝贝的理论分析,写得不错,⼤概是那个样⼦。
下来我就讲解⼀下技术⽅⾯的东西,以作引⽟之⽤。
2 技术分析部分 2.1 模拟键盘或⿏标的响应 我们⼀般使⽤: UINT SendInput( UINT nInputs, // count of input events LPINPUT pInputs, // array of input events int cbSize // size of structure ); API函数。
第⼀个参数是说明第⼆个参数的矩阵的维数的,第⼆个参数包含了响应事件,这个⾃⼰填充就可以,最后是这个结构的⼤⼩,⾮常简单,这是最简单的⽅法模拟键盘⿏标了,呵呵。
注意,这个函数还有个替代函数: VOID keybd_event( BYTE bVk, // 虚拟键码 BYTE bScan, // 扫描码 DWORD dwFlags, ULONG_PTR dwExtraInfo // 附加键状态 ); 与 VOID mouse_event( DWORD dwFlags, // motion and click options DWORD dx, // horizontal position or change DWORD dy, // vertical position or change DWORD dwData, // wheel movement ULONG_PTR dwExtraInfo // application-defined information ); 这两个函数⾮常简单了,我想那些按键精灵就是⽤的这个吧。
按键精灵_鼠标命令

命令名称LeftClick 左键单击命令功能模拟点击鼠标左键命令参数参数1 整数型,次数返回值无脚本例子按键精灵8及以上语法复制代码1.//LeftClick、LeftClickS、LeftClickH2.//LeftClickS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和USB接口的鼠标都可以使用3.//LeftClickH: 硬件模拟方式,仅支持PS(圆口)的鼠标点击查看使用硬件模拟方式的注意事项4.LeftClick 55.//在当前鼠标的位置单击鼠标左键5次脚本例子按键精灵7及以上语法复制代码1.//LeftClick、LeftClickS、LeftClickH2.//LeftClickS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和USB接口的鼠标都可以使用3.//LeftClickH: 硬件模拟方式,仅支持PS(圆口)的鼠标点击查看使用硬件模拟方式的注意事项4.LeftClick 55.//在当前鼠标的位置单击鼠标左键5次命令名称LeftDown 左键按下命令功能模拟按下鼠标左键命令参数参数1 整数型,次数返回值无脚本例子按键精灵8及以上语法复制代码1.//LeftDown、LeftDownS、LeftDownH2.//{次数}在这个语句中虽然有效,但没有实际意义.3.//LeftDownS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和USB接口的鼠标都可以使用4.//LeftDownH: 硬件模拟方式,仅支持PS(圆口)的鼠标点击查看使用硬件模拟方式的注意事项5.LeftDown 16.//在当前鼠标的位置按下鼠标左键脚本例子按键精灵7及以上语法复制代码1.//LeftDown、LeftDownS、LeftDownH2.//{次数}在这个语句中虽然有效,但没有实际意义.3.//LeftDownS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和USB接口的鼠标都可以使用4.//LeftDownH: 硬件模拟方式,仅支持PS(圆口)的鼠标点击查看使用硬件模拟方式的注意事项5.LeftDown 16.//在当前鼠标的位置按下鼠标左键命令名称LeftUp 左键弹起命令功能模拟松开鼠标左键命令参数参数1 整数型,次数返回值无脚本例子按键精灵8及以上语法复制代码1.//LeftUp、LeftUpS、LeftUpH2.//{次数}在这个语句中虽然有效,但没有实际意义.3.//LeftUpS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和USB接口的鼠标都可以使用4.//LeftUpH: 硬件模拟方式,仅支持PS(圆口)的鼠标点击查看使用硬件模拟方式的注意事项5.LeftUp 16.//在当前鼠标的位置弹起鼠标左键脚本例子按键精灵7及以上语法复制代码1.//LeftUp、LeftUpS、LeftUpH2.//{次数}在这个语句中虽然有效,但没有实际意义.3.//LeftUpS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和USB接口的鼠标都可以使用4.//LeftUpH: 硬件模拟方式,仅支持PS(圆口)的鼠标点击查看使用硬件模拟方式的注意事项5.LeftUp 16.//在当前鼠标的位置弹起鼠标左键命令名称LeftDoubleClick 左键双击命令功能模拟双击鼠标左键命令参数参数1 整数型,次数返回值无脚本例子按键精灵8及以上语法复制代码1.//LeftDoubleClick、LeftDoubleClickS、LeftDoubleClickH]2.//LeftDoubleClickS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和USB接口的鼠标都可以使用3.//LeftDoubleClickH: 硬件模拟方式,仅支持PS(圆口)的鼠标点击查看使用硬件模拟方式的注意事项4.LeftDoubleClick 55.//在当前鼠标的位置双击鼠标左键5次脚本例子按键精灵7及以上语法复制代码1.//LeftDoubleClick、LeftDoubleClickS、LeftDoubleClickH]2.//LeftDoubleClickS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和USB接口的鼠标都可以使用3.//LeftDoubleClickH: 硬件模拟方式,仅支持PS(圆口)的鼠标点击查看使用硬件模拟方式的注意事项4.LeftDoubleClick 55.//在当前鼠标的位置双击鼠标左键5次命令名称RightClick 右键单击命令功能模拟点击鼠标右键命令参数参数1 整数型,次数返回值无脚本例子按键精灵8及以上语法复制代码1.//RightClick、RightClickS、RightClickH2.//RightClickS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和USB接口的鼠标都可以使用3.//RightClickH: 硬件模拟方式,仅支持PS(圆口)的鼠标点击查看使用硬件模拟方式的注意事项4.RightClick 55.//在当前鼠标的位置单击鼠标右键5次脚本例子按键精灵7及以上语法复制代码1.//RightClick、RightClickS、RightClickH2.//RightClickS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和USB接口的鼠标都可以使用3.//RightClickH: 硬件模拟方式,仅支持PS(圆口)的鼠标点击查看使用硬件模拟方式的注意事项4.RightClick 55.//在当前鼠标的位置单击鼠标右键5次命令名称RightDown 右键按下命令功能模拟按下鼠标右键命令参数参数1 整数型,次数返回值无脚本例子按键精灵8及以上语法复制代码1.//RightDown、RightDownS、RightDownH2.//{次数}在这个语句中虽然有效,但没有实际意义.3.//RightDownS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和USB接口的鼠标都可以使用4.//RightDownH: 硬件模拟方式,仅支持PS(圆口)的鼠标点击查看使用硬件模拟方式的注意事项5.RightDown 16.//在当前鼠标的位置按下鼠标右键脚本例子按键精灵7及以上语法复制代码1.//RightDown、RightDownS、RightDownH2.//{次数}在这个语句中虽然有效,但没有实际意义.3.//RightDownS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和USB接口的鼠标都可以使用4.//RightDownH: 硬件模拟方式,仅支持PS(圆口)的鼠标点击查看使用硬件模拟方式的注意事项5.RightDown 16.//在当前鼠标的位置按下鼠标右键命令名称RightUp 右键弹起命令功能模拟松开鼠标右键命令参数参数1 整数型,次数返回值无脚本例子按键精灵8及以上语法复制代码1.//RightUp、RightUpS、RightUpH2.//{次数}在这个语句中虽然有效,但没有实际意义3.//RightUpS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和USB接口的鼠标都可以使用4.//RightUpH: 硬件模拟方式,仅支持PS(圆口)的鼠标点击查看使用硬件模拟方式的注意事项5.RightUp 16.//在当前鼠标的位置弹起鼠标右键脚本例子按键精灵7及以上语法复制代码1.//RightUp、RightUpS、RightUpH2.//{次数}在这个语句中虽然有效,但没有实际意义3.//RightUpS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和USB接口的鼠标都可以使用4.//RightUpH: 硬件模拟方式,仅支持PS(圆口)的鼠标点击查看使用硬件模拟方式的注意事项5.RightUp 16.//在当前鼠标的位置弹起鼠标右键命令名称MiddleClick 中键单击命令功能模拟点击鼠标中键命令参数参数1 整数型,次数返回值无脚本例子按键精灵8及以上语法复制代码1.//MiddleClick、MiddleClickS、MiddleClickH2.//MiddleClickS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和USB接口的鼠标都可以使用3.//MiddleClickH: 硬件模拟方式,仅支持PS(圆口)的鼠标点击查看使用硬件模拟方式的注意事项4.MiddleClick 55.//在当前鼠标的位置单击鼠标中键5次脚本例子按键精灵7及以上语法复制代码1.//MiddleClick、MiddleClickS、MiddleClickH2.//MiddleClickS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和USB接口的鼠标都可以使用3.//MiddleClickH:硬件模拟方式,仅支持PS(圆口)的鼠标点击查看使用硬件模拟方式的注意事项4.MiddleClick 55.//在当前鼠标的位置单击鼠标中键5次命令名称MoveTo 鼠标移动命令功能移动鼠标到命令参数参数1 整数型,X坐标参数2 整数型,Y坐标返回值无脚本例子按键精灵8及以上语法复制代码1.//MoveTo、MoveToS、MoveToH2.//MoveToS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和USB接口的鼠标都可以使用3.//MoveToH: 硬件模拟方式,仅支持PS(圆口)的鼠标4.MoveTo 100,2005.//把鼠标移动到(100,200)这个点上6.intX=507.intY=1508.MoveTo intX,intY9.//把鼠标移动到(intX,intY)这个点上,需要5.50以上版本支持.脚本例子按键精灵7及以上语法复制代码1.//MoveTo、MoveToS、MoveToH2.//MoveToS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和USB接口的鼠标都可以使用3.//MoveToH: 硬件模拟方式,仅支持PS(圆口)的鼠标4.MoveTo 100,2005.//把鼠标移动到(100,200)这个点上6.intX=507.intY=1508.MoveTo intX,intY9.//把鼠标移动到(intX,intY)这个点上,需要5.50以上版本支持.命令名称MoveR 鼠标相对移动命令功能鼠标相对移动到命令参数参数1 整数型,X距离参数2 整数型,Y距离返回值无脚本例子按键精灵8及以上语法复制代码1.//MoveR、MoveRS、MoveRH2.//MoveRS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和USB接口的鼠标都可以使用3.//MoveRH: 硬件模拟方式,仅支持PS(圆口)的鼠标点击查看使用硬件模拟方式的注意事项4.//当前鼠标在(100,100)点,使用下面语句5.MoveR 200,3006.//之后,鼠标就被移到了(100+200,100+300)处,也就是坐标(300,400)处7.//提示:使用硬件模拟方式不能碰键盘鼠标,否则会导致出错脚本例子按键精灵7及以上语法复制代码1.//MoveR、MoveRS、MoveRH2.//MoveRS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和USB接口的鼠标都可以使用3.//MoveRH: 硬件模拟方式,仅支持PS(圆口)的鼠标点击查看使用硬件模拟方式的注意事项4.//当前鼠标在(100,100)点,使用下面语句5.MoveR 200,3006.//之后,鼠标就被移到了(100+200,100+300)处,也就是坐标(300,400)处7.//提示:使用硬件模拟方式不能碰键盘鼠标,否则会导致出错命令名称MouseWheel 鼠标滚轮命令功能滚动鼠标滚轮命令参数参数1 整数型,滚动量返回值无脚本例子按键精灵8及以上语法复制代码1.//如果滚动量为正,向上滚动;否则向下滚动.2.//仅支持Windows 2000以上的操作系统.3.MouseWheel 14.//把鼠标滚轮向上滚动1格脚本例子按键精灵7及以上语法复制代码1.//如果滚动量为正,向上滚动;否则向下滚动.2.//仅支持Windows 2000以上的操作系统.3.MouseWheel 14.//把鼠标滚轮向上滚动1格命令名称SaveMousePos 保存当前鼠标所在位置命令功能保存当前鼠标位置命令参数无返回值无脚本例子按键精灵8及以上语法复制代码1.SaveMousePos2.//保存当前鼠标位置3.Delay 1004.MoveTo 500,205.Delay 1006.RestoreMousePos7.//将鼠标移动到上一次保存的鼠标位置8.//保存/恢复鼠标位置常用于制作网络游戏练功脚本,脚本开始时保存鼠标位置,脚本结束时恢复鼠标位置,9.//这样脚本执行后鼠标的位置就不会变化脚本例子按键精灵7及以上语法复制代码1.SaveMousePos2.//保存当前鼠标位置3.Delay 1004.MoveTo 500,205.Delay 1006.RestoreMousePos7.//将鼠标移动到上一次保存的鼠标位置8.//保存/恢复鼠标位置常用于制作网络游戏练功脚本,脚本开始时保存鼠标位置,脚本结束时恢复鼠标位置,9.这样脚本执行后鼠标的位置就不会变化命令名称RestoreMousePos 恢复上次保存的鼠标位置命令功能保存当前鼠标位置命令参数无返回值无脚本例子按键精灵8及以上语法复制代码1.SaveMousePos2.//保存当前鼠标位置3.Delay 1004.MoveTo 500,205.Delay 1006.RestoreMousePos7.//将鼠标移动到上一次保存的鼠标位置8.//保存/恢复鼠标位置常用于制作网络游戏练功脚本,脚本开始时保存鼠标位置,脚本结束时恢复鼠标位置,9.//这样脚本执行后鼠标的位置就不会变化脚本例子按键精灵7及以上语法复制代码1.SaveMousePos2.//保存当前鼠标位置3.Delay 1004.MoveTo 500,205.Delay 1006.RestoreMousePos7.//将鼠标移动到上一次保存的鼠标位置8.//保存/恢复鼠标位置常用于制作网络游戏练功脚本,脚本开始时保存鼠标位置,脚本结束时恢复鼠标位置,9.这样脚本执行后鼠标的位置就不会变化命令名称LockMouse 锁定鼠标位置命令功能锁定鼠标位置,用户将不能通过移动鼠标而改变鼠标位置,而脚本仍可以改变鼠标位置命令参数无返回值无脚本例子按键精灵8及以上语法复制代码1.//在脚本开始的时候使用这个命令,可以有效防止用户误触鼠标引起脚本执行出错2.LockMouse3.Do4.Delay 10005.Loop脚本例子按键精灵7及以上语法复制代码1.//在脚本开始的时候使用这个命令,可以有效防止用户误触鼠标引起脚本执行出错2.LockMouse3.While True4.Delay 10005.EndWhile命令名称UnlockMouse 解除锁定鼠标位置命令功能解除LockMouse命令对鼠标位置的锁定命令参数无返回值无脚本例子按键精灵8及以上语法复制代码1.脚本例子按键精灵7及以上语法复制代码1.//如果用户使用了LockMouse命令而没有使用UnlockMouse命令,按键精灵会在脚本结束时自动解除锁定2.UnlockMouse命令名称WaitClick 按任意鼠标键继续命令功能脚本执行到这一句暂停,按下任意鼠标键之后继续命令参数参数1 整数型,可选:变量名返回值无脚本例子按键精灵8及以上语法复制代码st_click=WaitClick()2.MessageBox "您按下了" & last_click脚本例子按键精灵7及以上语法复制代码1.WaitClick last_click2.MessageBox "您按下了" & last_click命令名称GetLastClick 检测上次按过的鼠标键命令功能检测上一次按下的鼠标代码命令参数参数1 整数型,可选:变量名返回值无脚本例子按键精灵8及以上语法复制代码1.Mouse=GetLastClick()2.If Mouse =32770 Or Mouse =32769 Then3. Msgbox "你按下了鼠标左键"4.End If脚本例子按键精灵7及以上语法复制代码1.GetLastClick Mouse2.If Mouse =32770 Or Mouse =327693. Msgbox "你按下了鼠标左键"4.EndIf命令名称GetCursorPos 得到鼠标位置坐标命令功能得到当前鼠标所在的位置坐标命令参数参数1 整数型,返回x坐标参数2 整数型,返回y坐标返回值无脚本例子按键精灵8及以上语法复制代码1.GetCursorPos mx,my2.//把当前鼠标位置的x和y坐标放在变量mx和my中脚本例子按键精灵7及以上语法复制代码1.VBSCall GetCursorPos(mx,my)2.//把当前鼠标位置的x和y坐标放在变量mx和my中命令名称GetCursorShape 得到鼠标形状命令功能得到当前鼠标的形状特征命令参数参数1 整数型,参数返回值整数型,鼠标的形状值脚本例子按键精灵8及以上语法复制代码1.//参数: 0 是6.83之前的版本默认的参数2.//参数: 1 可用于一些在参数0下无法区分鼠标形状代码的情况3.//下面是我们普通的WINDOWS鼠标形状特征4.//不同电脑上鼠标形状特征也许不同,请使用"抓点抓色"功能抓取正确的鼠标形状特征5.Shape1 = 15933502876.//下面是我们访问网页超链接时候的手型鼠标形状7.Shape2 = 10559913298.shape=GetCursorShape(0)9.If shape = shape1 Then10. MessageBox "当前鼠标形状是普通的WINDOWS鼠标"11.ElseIf shape = shape2 Then12. MessageBox "当前鼠标形状是手型鼠标"13.Else14. MessageBox "不认识当前鼠标形状!"15.End If脚本例子按键精灵7及以上语法复制代码1.//参数: 0 是6.83之前的版本默认的参数2.//参数: 1 可用于一些在参数0下无法区分鼠标形状代码的情况3.//下面是我们普通的WINDOWS鼠标形状特征4.//不同电脑上鼠标形状特征也许不同,请使用"抓点抓色"功能抓取正确的鼠标形状特征5.Shape1 = 15933502876.//下面是我们访问网页超链接时候的手型鼠标形状7.Shape2 = 10559913298.VBSCall Shape=GetCursorShape(0)9.If shape = shape110. MessageBox 当前鼠标形状是普通的WINDOWS鼠标11.ElseIf shape = shape212. MessageBox 当前鼠标形状是手型鼠标13.Else14. MessageBox 不认识当前鼠标形状!15.EndIf命令名称SetSimMode 设置模拟方式命令功能设置模拟方式命令参数参数1 整数型,设置模拟方式返回值无脚本例子按键精灵8及以上语法复制代码1.//模拟方式(0普通|1硬件|2超级)2.MessageBox "这个例子会演示普通/硬件/超级这三种模拟方式的效果,点击确定后3秒钟开始模拟,会用普通模拟按3下a,硬件模拟按3下b,超级模拟按3下c"3.Delay 30004.SetSimMode 05.KeyPress 65,36.MoveTo 0,07.Delay 10008.SetSimMode 19.KeyPress 66,310.MoveTo 100,10011.Delay 100012.SetSimMode 213.KeyPress 67,314.MoveTo 200,20015.MessageBox "演示结束"脚本例子按键精灵7及以上语法复制代码1.//模拟方式(0普通|1硬件|2超级)2.MessageBox "这个例子会演示普通/硬件/超级这三种模拟方式的效果,点击确定后3秒钟开始模拟,会用普通模拟按3下a,硬件模拟按3下b,超级模拟按3下c"3.Delay 30004.SetSimMode 05.KeyPress 65,36.MoveTo 0,07.Delay 10008.SetSimMode 19.KeyPress 66,310.MoveTo 100,10011.Delay 100012.SetSimMode 213.KeyPress 67,314.MoveTo 200,20015.MessageBox "演示结束"。
按键精灵脚本制作教程课件

总结词
函数与子程序是按键精灵脚本中非常重 要的概念,它们能帮助你编写出更加模 块化和复用的脚本代码。
VS
详细描述
在按键精灵中,函数和子程序都是可重用 的代码块。函数是一段被命名的代码块, 可以被反复调用;子程序则是一段无命名 的代码块,不能被单独调用,但可以作为 函数内部的一部分。
函数与子程序
示例代码 ```vbscript ' 定义一个函数
案例四:多媒体处理脚本制作
01
3. 制作流程
02
a. 分析需求:明确需要处理的多媒体 文件类型和数量。
03
b. 选择多媒体处理功能:根据需求选 择相应的功能,如图片批量转换、音 频裁剪等。
案例四:多媒体处理脚本制作
c. 配置参数
根据文件类型和数量配置参 数,如输出格式、裁剪尺寸 等。
d. 调试脚本
d. 运行脚本
测试脚本在实际网站中的运行效果,获取所 需数据。
案例四:多媒体处理脚本制作
• 总结词:通过按键精灵实现多媒体处理,提高工作效率。
案例四:多媒体处理脚本制作
详细描述
1. 多媒体处理的意义:快速批量处理 多媒体文件,如图片、音频、视频等 。
2. 按键精灵的多媒体处理功能:支持 多种多媒体格式处理,可实现批量转 换、裁剪等操作。
函数与子程序
• Function AddNumbers(x, y)
函数与子程序
01
Result = x + y
02
End Function
03
' 使用函数
函数与子程序
01
x = 10
02
y = 20
03
z = AddNumbers(x, y)
易语言仿按键精灵录制键盘鼠标操作的代码

易语⾔仿按键精灵录制键盘⿏标操作的代码DLL命令表.版本 2.DLL命令取按键状态, 短整数型, "user32.dll", "GetAsyncKeyState".参数⿏标键, 整数型.DLL命令取⿏标位置, 整数型, "user32.dll", "GetCursorPos".参数当前⿏标位置, ⿏标位置, 传址.DLL命令模拟⿏标按键, , , "mouse_event".参数⿏标动作, 整数型.参数⽔平位置, 整数型.参数垂直位置, 整数型.参数⿏标按键, 整数型.参数扩展信息, 整数型.DLL命令模拟键盘按键, , , "keybd_event".参数 bVk, 字节型.参数 bScan, 字节型.参数 dwFlags, 整数型.参数 dwExtraInfo, 整数型⾃定义数据类型.版本 2.数据类型⿏标位置.成员横向坐标, 整数型.成员纵向坐标, 整数型.数据类型按键记录, , 记录长度13个字节..成员时间间隔, 整数型.成员键值, 字节型, , , 0,⿏标移动;其他为键盘键值.成员键盘动作, 整数型, , , 或者是⿏标⽔平位置.成员垂直位置, 整数型, , , ⿏标垂直位置⿏标键盘录制的代码.版本 2.程序集程序集_主窗⼝.程序集变量按键状态, 整数型, , "256".程序集变量时间线, 整数型.程序集变量⿏标前次位置, ⿏标位置.程序集变量操作记录, 按键记录, , "92000".程序集变量缓冲区记录数, ⽂本型.程序集变量当前记录, 整数型.程序集变量可否中断, 逻辑型.程序集变量屏幕宽度, 整数型.程序集变量屏幕⾼度, 整数型.程序集变量停⽌回放, 逻辑型.⼦程序判断按键.参数键值, 字节型.参数当前状态, 整数型.判断开始 (当前状态= 0).如果真 (按键状态 [键值+ 1] ≠ 0)添加记录 (键值, #键抬起, 0).如果真结束.判断 (当前状态 ≠ 0).如果 (键值= #F3键)可否中断=真返回 ().否则.如果结束.如果真 (按键状态 [键值+ 1] = 0)添加记录 (键值, #键按下, 0).如果真结束.默认.判断结束按键状态 [键值+ 1] =当前状态.⼦程序添加记录.参数键值, 字节型, , 为0表⽰⿏标移动,其他表⽰按键.参数键盘动作, 整数型, , 或 “⽔平位置”,传⼊的双精度数.参数垂直位置, 整数型当前记录=当前记录+ 1.如果 (当前记录>取数组成员数 (操作记录))返回 ().否则.如果结束操作记录 [当前记录].时间间隔=取启动时间 () -时间线操作记录 [当前记录].键值=键值操作记录 [当前记录].键盘动作=键盘动作操作记录 [当前记录].垂直位置=垂直位置标签_录制进程.标题=到⽂本 (当前记录) + “ / ” +缓冲区记录数.⼦程序 _按钮_记录_被单击.局部变量键值, 整数型.局部变量⿏标当前位置, ⿏标位置.局部变量⿏标动作, 整数型.局部变量脚本⽂件号, 整数型.局部变量记录数, 整数型.局部变量脚本⽂件名, ⽂本型按钮_记录.禁⽌=真按钮_回放.禁⽌=真按钮_停⽌.禁⽌=假.如果真 (选择框_最⼩化.选中)位置= 2.如果真结束时钟_热键.时钟周期= 0 ' 关闭 “记录” 热键.计次循环⾸ (256, 键值) ' 初始化按键状态取按键状态 (键值- 1)按键状态 [键值] = 0.计次循环尾 ()屏幕宽度=取屏幕宽度 () ' 为获取⿏标坐标作准备屏幕⾼度=取屏幕⾼度 ()当前记录= 0时间线=取启动时间 ()可否中断=假 ' 开始记录.判断循环⾸ (可否中断=假)取⿏标位置 (⿏标当前位置).如果真 (⿏标前次位置.横向坐标 ≠ ⿏标当前位置.横向坐标或⿏标前次位置.纵向坐标 ≠ ⿏标当前位置.纵向坐标)⿏标前次位置=⿏标当前位置添加记录 (0, ⿏标当前位置.横向坐标 × 65535 \屏幕宽度, ⿏标当前位置.纵向坐标 × 65535 \屏幕⾼度).如果真结束.变量循环⾸ (146, 255, 1, 键值) ' 先检查额外按键信息。
学习游戏辅助制作:按键精灵模拟鼠标动作防检测

学习游戏辅助制作:按键精灵模拟鼠标动作防检测来源:按键学院【按键精灵】有些游戏会检测到鼠标动作.频繁相同的点击很容易让游戏检测到我们使用了按键,这样的情况下,我们需要模拟鼠标移动,让鼠标像真是手动操作一样,慢慢的移动到终点。
论坛里的一位大牛:we似曾相识曾经开展了"老鼠慢慢跑"的比赛征集帖,收集了各式各样模拟鼠标移动的代码,我们一起来看看~~~内容提要1、点到点模拟鼠标真实移动——直线2、点到点模拟鼠标真实移动——直线+转折3、点到点模拟鼠标真实移动——直线+振幅4、点到点模拟鼠标真实移动——曲线场景在mspaint画图工具中,让鼠标从点100,100移动到点800,600NO.1-点到点模拟鼠标真实移动——直线代码1 作者:林家铺子x1 = 800 : y1 = 600 //目标点x2 = 100 : y2 = 100//起始点MoveT o x2,y2k = (y2 - y1) / (x2 - x1)b = y2 - k * x2For x = x2 To x1 Step sgn(x1 - x2)//sgn函数为返回表示数字符号的整数。
当(x1 - x2)>0时,返回值为1.当(x1 - x2)<0时,返回值为-1.当=0时,返回值为0LeftDown 1MoveT o x, (k * x + b)LeftUp 1Delay 1Next代码2 作者:_雪狼Call 鼠标慢慢跑(100,100,800,600,5)Sub 鼠标慢慢跑(x1, y1, x2, y2,time1)Dim a, x, y, ix = x1 : y = y1a = x2 / y2MoveT o x1, y1For i = y T o y2-1y = y + 1x = y * aLeftDown 1MoveTo x, yDelay time1NextEnd Sub代码3-变速作者:playandhappy//点到点直线移动,鼠标移动速度开始快后来越来越慢Call 老鼠慢慢跑(100,100,800,600,100)Sub 老鼠慢慢跑(x1,y1,x2,y2,times)MoveT o x1,y1While abs(x1-x2)>5 or abs(y1-y2)>5GetCursorPos x1, y1LeftDown 1MoveR (x2 - x1) / 4, (y2 - y1) / 4LeftUp 1Delay timesWendLeftDown 1MoveT o x2, y2LeftUp 1End Sub代码4-移动次数作者:fuyong198010222//点到点直线移动,并且可以设置移动几次到达目标地点Dim a, b, c, d ,n,t //起点(100,100),终点(800,600)a = 100 :b = 100 :c = 800 :d = 600//匀速直线移动UserVar n=100 "多少次移动到位"UserVar t=50 "每一次移动相隔多少时间"Call 老鼠慢慢跑()Sub 老鼠慢慢跑MoveT o a, bDelay tFor nx = (c - a) / n : y = (d - b) / nLeftDown 1MoveR x, yLeftUp 1Delay tNextEnd Sub代码5-移动间隔作者:xuyuzuiMoveT o 100,100Call 老鼠慢慢跑(800, 600, 5, 50)Sub 老鼠慢慢跑(x, y, mousestep, mouseDelay)'x,y : 移动终点坐标' mousestep: 移动间距'mouseDelay : 移动时间间隔(ms)Dim Xstep, YstepDim curx, cury, PianYiX, PianYiYGetCursorPos curx, curyIf abs(curx - x) < mousestep And abs(cury - y) < mousestep ThenLeftDown 1MoveTo x, yLeftUp 1Exit SubEnd IfXstep = (x - curx) / mousestepYstep = (y - cury) / mousestepIf abs(Xstep) > abs(Ystep) ThenPianYiX = mousestep * sgn(Xstep)PianYiY = (y - cury) / abs(Xstep)ElsePianYiX = (x - curx) / abs(Ystep)PianYiY = mousestep * sgn(Ystep)End IfLeftDown 1MoveR PianYiX, PianYiYLeftUp 1Delay mouseDelayCall 老鼠慢慢跑(x, y, mousestep, mouseDelay)End SubNO.2-点到点模拟鼠标真实移动——直线+转折代码1 作者:VBS技术者//tD几毫秒移动一点call 鼠标慢慢跑(100,100,800,600,5)Sub 鼠标慢慢跑(X1,Y1,X2,Y2,tD)Dim xl,yl,xc,yc,endx,endy,sx,syDim FORC,ixl=abs(clng(X1)-clng(X2))yl=abs(clng(y1)-clng(y2))EndX = X2EndY = Y2XC=1YC=1sx=x1sy=y1If clng(X1)>=clng(X2) ThenEndX = X1xc = -1End IfIf clng(Y1)>=clng(Y2) ThenEndY = Y1yc = -1End IfIf xl>yl ThenFORC = xlElseFORC = ylEnd IfFor i = 1 To FORC+1LeftDown 1MoveT o sx, syLeftUp 1Delay clng(tD)sx = sx + xcsy = sy + ycIf sx=endx Thenxc = 0End IfIf sy=endy Thenyc=0End IfNextEnd Sub代码2 作者:dinwidi//点到点直线移动,先走x轴横坐标直线,然后转折走y轴纵坐标直线,直至终点(这是游戏里常用的单步移动的原理)Call 老鼠慢慢跑(100,100,800,600,5)Sub 老鼠慢慢跑(x1, y1, x2, y2, t)MoveTo x1,y1i = 0For abs(x1 - x2)LeftDown 1MoveT o x1+(x2-x1)/abs(x2-x1)*i,y1Delay tLeftUp 1i = i + 1Nexti = 0For abs(y1 - y2)+1LeftDown 1MoveT o x2, y1 + (y2 - y1) / abs(y2 - y1) * iLeftUp 1Delay ti = i + 1NextEnd SubNO.3-点到点模拟鼠标真实移动——直线+振动代码作者:lucky619486332//点到点直线移动,移动中鼠标轻微震动Call 老鼠慢慢跑(100,100,800,600,50)Sub 老鼠慢慢跑(x1, y1, x2, y2, t)MoveT o x1,y1While x2 - x1 <> 0 and y2 - y1 <> 0d1 = x2 - x1 : d2 = y2 - y1If abs(d1) >= abs(d2) Thenxt = int(abs(d1 / d2))For xtLeftDown 1MoveR d1 / abs(d1), 0LeftUp 1Delay tNextLeftDown 1MoveR 0, d2 / abs(d2)LeftUp 1Delay tElseyt=int(abs(d2 / d1))For ytLeftDown 1MoveR 0, d2 / abs(d2)LeftUp 1Delay tNextLeftDown 1MoveR d1 / abs(d1), 0LeftUp 1Delay tEnd IfGetCursorPos x1, y1WendEnd SubNO.4-点到点模拟鼠标真实移动——曲线代码作者:xxx_mailSub 鼠标慢慢跑(x1,y1,振幅,周期)Dim x0,y0,x,y, 距离,q0,q1,r,t,ax0 = 100y0 = 100MoveT o x0,y0距离=sqr((x1-x0)^2+(y1-y0)^2)q1 = 角度计算((x1-x0),(y1-y0))pi = Atn(1)*8a = 距离/pit=周期/piFor i=0 To pi step 0.001x=x1-距离+i*ay =y1+振幅*sin(i)q0 = 角度计算(x-x1,y-y1)r=sqr((x-x1)^2+(y-y1)^2)x =x1+r*Cos((q0+q1))y = y1 + r * Sin((q0 + q1))LeftDown 1MoveT o x, yLeftUp 1Delay tNextEnd SubFunction 角度计算(x, y)If x = 0 Thenx = 0.0001End IfIf x > 0 and y >= 0 Then角度计算= (Atn(y / x))ElseIf x > 0 and y < 0 Then角度计算= (Atn(y / x))+piElseIf x < 0 Then角度计算= (Atn(y / x)) + pi/2End IfEnd Function。
按键精灵脚本制作教程

非常神奇?只要您按下中止热键,脚本就会停止,按键精 灵就是这么忠实的一个好帮手。任务易为自由职业工作 者寻找和分析任务项目,并构建以任务为主题的
社交平台。
转载文章希望保留出处。谢谢!
猫先生 /
对指定的窗口有效,这样就不会出现切换了窗口还自动 执行动作的情况;每个动作都生成一个脚本文件,高手可 以自己编辑这个文件,实现功能强大的宏键。会
用脚本之后,您一定希望知道这个脚本是如何制作出来 的吧?下面我们就一步步介绍鼠标连点脚本的制作方法。 第一步:新建脚二步:插入 命令,实现鼠标左键点击在编辑器左侧的基本命令面板 找到“鼠标命令”,展开这个面板之后,我们会看
到鼠标动作的命令,我们选择“左键单击”,执行次数1 次,然后按下“插入”按钮,就可以在右边的脚本编辑 界面里看到“左键单击”这条命令!第三步:设
置脚本,反复点击我们希望这个脚本能够反复的自动操 作,也就是反复执行“左键单击”这个动作,这就需要 在脚本属性里进行设置了,如图9所示,将脚本循
环设置为“循环到按中止键为止”第四步:保存脚本, 尽情享用脚本制作成功以后就可以保存脚本使用了!我们 先把脚本描述改为“我的左键连点器”,然后点
家学会制作脚本,那我们就先进入“网络游戏”脚本分 类吧!在网络游戏分类里我们能看到10个脚本,其中最简 单也最有用的应该属“鼠标左键连点”,就让
我们看看这个脚本到底是如何工作的。第一步:选中脚 本选中“鼠标左键连点”这个脚本后,在脚本属性里列 出了这个脚本的一些基本信息。第二步:启动脚本
在脚本属性中,我们看到启动热键是F10,也就是说按下 F10热键,就可以启动当前的脚本。只要两步,您就会发 现自己的鼠标自动开始点击左键,是不是
值,一般是配合断点功能使用。使用方法:在变量查看 窗口输入变量名,脚本调试过程中利用断点暂停脚本后 即可看到变量的值。调试信息:说明:使用Tra
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学习游戏辅助制作:按键精灵模拟鼠标动作防检测来源:按键学院【按键精灵】有些游戏会检测到鼠标动作.频繁相同的点击很容易让游戏检测到我们使用了按键,这样的情况下,我们需要模拟鼠标移动,让鼠标像真是手动操作一样,慢慢的移动到终点。
论坛里的一位大牛:we似曾相识曾经开展了"老鼠慢慢跑"的比赛征集帖,收集了各式各样模拟鼠标移动的代码,我们一起来看看~~~内容提要1、点到点模拟鼠标真实移动——直线2、点到点模拟鼠标真实移动——直线+转折3、点到点模拟鼠标真实移动——直线+振幅4、点到点模拟鼠标真实移动——曲线场景在mspaint画图工具中,让鼠标从点100,100移动到点800,600NO.1-点到点模拟鼠标真实移动——直线代码1 作者:林家铺子x1 = 800 : y1 = 600 //目标点x2 = 100 : y2 = 100//起始点MoveT o x2,y2k = (y2 - y1) / (x2 - x1)b = y2 - k * x2For x = x2 To x1 Step sgn(x1 - x2)//sgn函数为返回表示数字符号的整数。
当(x1 - x2)>0时,返回值为1.当(x1 - x2)<0时,返回值为-1.当=0时,返回值为0LeftDown 1MoveT o x, (k * x + b)LeftUp 1Delay 1Next代码2 作者:_雪狼Call 鼠标慢慢跑(100,100,800,600,5)Sub 鼠标慢慢跑(x1, y1, x2, y2,time1)Dim a, x, y, ix = x1 : y = y1a = x2 / y2MoveT o x1, y1For i = y T o y2-1y = y + 1x = y * aLeftDown 1MoveTo x, yDelay time1NextEnd Sub代码3-变速作者:playandhappy//点到点直线移动,鼠标移动速度开始快后来越来越慢Call 老鼠慢慢跑(100,100,800,600,100)Sub 老鼠慢慢跑(x1,y1,x2,y2,times)MoveT o x1,y1While abs(x1-x2)>5 or abs(y1-y2)>5GetCursorPos x1, y1LeftDown 1MoveR (x2 - x1) / 4, (y2 - y1) / 4LeftUp 1Delay timesWendLeftDown 1MoveT o x2, y2LeftUp 1End Sub代码4-移动次数作者:fuyong198010222//点到点直线移动,并且可以设置移动几次到达目标地点Dim a, b, c, d ,n,t //起点(100,100),终点(800,600)a = 100 :b = 100 :c = 800 :d = 600//匀速直线移动UserVar n=100 "多少次移动到位"UserVar t=50 "每一次移动相隔多少时间"Call 老鼠慢慢跑()Sub 老鼠慢慢跑MoveT o a, bDelay tFor nx = (c - a) / n : y = (d - b) / nLeftDown 1MoveR x, yLeftUp 1Delay tNextEnd Sub代码5-移动间隔作者:xuyuzuiMoveT o 100,100Call 老鼠慢慢跑(800, 600, 5, 50)Sub 老鼠慢慢跑(x, y, mousestep, mouseDelay)'x,y : 移动终点坐标' mousestep: 移动间距'mouseDelay : 移动时间间隔(ms)Dim Xstep, YstepDim curx, cury, PianYiX, PianYiYGetCursorPos curx, curyIf abs(curx - x) < mousestep And abs(cury - y) < mousestep ThenLeftDown 1MoveTo x, yLeftUp 1Exit SubEnd IfXstep = (x - curx) / mousestepYstep = (y - cury) / mousestepIf abs(Xstep) > abs(Ystep) ThenPianYiX = mousestep * sgn(Xstep)PianYiY = (y - cury) / abs(Xstep)ElsePianYiX = (x - curx) / abs(Ystep)PianYiY = mousestep * sgn(Ystep)End IfLeftDown 1MoveR PianYiX, PianYiYLeftUp 1Delay mouseDelayCall 老鼠慢慢跑(x, y, mousestep, mouseDelay)End SubNO.2-点到点模拟鼠标真实移动——直线+转折代码1 作者:VBS技术者//tD几毫秒移动一点call 鼠标慢慢跑(100,100,800,600,5)Sub 鼠标慢慢跑(X1,Y1,X2,Y2,tD)Dim xl,yl,xc,yc,endx,endy,sx,syDim FORC,ixl=abs(clng(X1)-clng(X2))yl=abs(clng(y1)-clng(y2))EndX = X2EndY = Y2XC=1YC=1sx=x1sy=y1If clng(X1)>=clng(X2) ThenEndX = X1xc = -1End IfIf clng(Y1)>=clng(Y2) ThenEndY = Y1yc = -1End IfIf xl>yl ThenFORC = xlElseFORC = ylEnd IfFor i = 1 To FORC+1LeftDown 1MoveT o sx, syLeftUp 1Delay clng(tD)sx = sx + xcsy = sy + ycIf sx=endx Thenxc = 0End IfIf sy=endy Thenyc=0End IfNextEnd Sub代码2 作者:dinwidi//点到点直线移动,先走x轴横坐标直线,然后转折走y轴纵坐标直线,直至终点(这是游戏里常用的单步移动的原理)Call 老鼠慢慢跑(100,100,800,600,5)Sub 老鼠慢慢跑(x1, y1, x2, y2, t)MoveTo x1,y1i = 0For abs(x1 - x2)LeftDown 1MoveT o x1+(x2-x1)/abs(x2-x1)*i,y1Delay tLeftUp 1i = i + 1Nexti = 0For abs(y1 - y2)+1LeftDown 1MoveT o x2, y1 + (y2 - y1) / abs(y2 - y1) * iLeftUp 1Delay ti = i + 1NextEnd SubNO.3-点到点模拟鼠标真实移动——直线+振动代码作者:lucky619486332//点到点直线移动,移动中鼠标轻微震动Call 老鼠慢慢跑(100,100,800,600,50)Sub 老鼠慢慢跑(x1, y1, x2, y2, t)MoveT o x1,y1While x2 - x1 <> 0 and y2 - y1 <> 0d1 = x2 - x1 : d2 = y2 - y1If abs(d1) >= abs(d2) Thenxt = int(abs(d1 / d2))For xtLeftDown 1MoveR d1 / abs(d1), 0LeftUp 1Delay tNextLeftDown 1MoveR 0, d2 / abs(d2)LeftUp 1Delay tElseyt=int(abs(d2 / d1))For ytLeftDown 1MoveR 0, d2 / abs(d2)LeftUp 1Delay tNextLeftDown 1MoveR d1 / abs(d1), 0LeftUp 1Delay tEnd IfGetCursorPos x1, y1WendEnd SubNO.4-点到点模拟鼠标真实移动——曲线代码作者:xxx_mailSub 鼠标慢慢跑(x1,y1,振幅,周期)Dim x0,y0,x,y, 距离,q0,q1,r,t,ax0 = 100y0 = 100MoveT o x0,y0距离=sqr((x1-x0)^2+(y1-y0)^2)q1 = 角度计算((x1-x0),(y1-y0))pi = Atn(1)*8a = 距离/pit=周期/piFor i=0 To pi step 0.001x=x1-距离+i*ay =y1+振幅*sin(i)q0 = 角度计算(x-x1,y-y1)r=sqr((x-x1)^2+(y-y1)^2)x =x1+r*Cos((q0+q1))y = y1 + r * Sin((q0 + q1))LeftDown 1MoveT o x, yLeftUp 1Delay tNextEnd SubFunction 角度计算(x, y)If x = 0 Thenx = 0.0001End IfIf x > 0 and y >= 0 Then角度计算= (Atn(y / x))ElseIf x > 0 and y < 0 Then角度计算= (Atn(y / x))+piElseIf x < 0 Then角度计算= (Atn(y / x)) + pi/2End IfEnd Function。