雷蛇鼠标宏怎么设置吃鸡压枪(压枪宏教程)

前言

我们的鼠标在进入最近十年后,迅速的发展,鼠标性能的提高,方案的多样化,使得鼠标在完成本身功能的前提下,能提供更多的按键和自定义的功能。

你如果是FPS玩家一定是听说过有一种东西叫做宏,它如同外挂软件一样可以让AK和M4一样稳定,那么宏是不是外挂,宏实现的远离,我们如果要编写宏要怎么操作?这次,我就来说一说宏是什么,它怎么实现的,它又是怎么用的。

什么是宏

宏是什么,目前来说大家说的宏(Macro),其实就算是一种脚本以及执行器,百度百科的说法是,计算机科学里的宏是一种抽象,它根据一系列预定义的规则替换一定的文本模式,那么这句话是什么意思呢?大致就是说,比如今天我定义UP+4这一段话是鼠标向上移动4个像素,那么我在一个文档里面写这句话,程序读取文档中这句就会让鼠标向上移动4个像素点

雷蛇鼠标宏怎么设置吃鸡压枪(压枪宏教程)插图1

这会儿写的这个文本就是脚本(Script),这里的脚本就是宏(Macro)了,他们的意思是一样的,就像菠萝和凤梨(闽南话读菠萝的发音)

宏是怎么实现的

宏的实现离不开软件的支持,鼠标驱动实际上是符合USB协议的,像是鼠标键盘摇杆等HID设备在如今和以前的USB下是免驱的,而控制软件可以通过鼠标键盘配合驱动程序,实现我们需要的各类功能

雷蛇鼠标宏怎么设置吃鸡压枪(压枪宏教程)插图3

刚刚有说,鼠标键盘的宏的实现,无非就是软件而已,控制软件可以通过间接调用驱动程序达到目的,比如上一段中说的让指针移动4个像素,因为设备性能的提升,我们可以让鼠标去执行脚本,脚本也可保存到鼠标上,毕竟现在鼠标的存储空间存这些字符还是很容易的。

雷蛇鼠标宏怎么设置吃鸡压枪(压枪宏教程)插图5

当然,也可能有编译或者文字压缩,类似伪代码那样。

雷蛇鼠标宏怎么设置吃鸡压枪(压枪宏教程)插图7

总的来说我个人是觉得有几种形式,一种,控制软件本身和驱动程序挂钩,另一种,控制软件本身只和鼠标通信,鼠标代为执行并通过驱动软件实现。

真正的鼠标宏什么样

鼠标宏,其实长得就像是程序代码那样,不过它是伪代码是脚本,比如罗技全线G系列,控制软件就支持Lua脚本,这是一种非常经常在RPG等游戏中使用到的脚本语言

我从网上找一个罗技鼠标的压枪宏,用作本次实例,因为使用XML格式,所以我们可以简单的打开,图上这一部分主要是鼠标的配置文件

雷蛇鼠标宏怎么设置吃鸡压枪(压枪宏教程)插图9

向下拖动,则会看到脚本的部分,密密麻麻的并不容易查看,因为这部分是交由控制软件读取所以就没有前面部分有依有据的样子

雷蛇鼠标宏怎么设置吃鸡压枪(压枪宏教程)插图11

总的来说,罗技的配置文件在我看来是以三部分组成,按键名称定义,鼠标配置c包括各档位的DPi,灯的亮度颜色,型号,然后才是脚本

如何写鼠标宏

鼠标宏,可能很多玩家在被恶心过后,就觉得这东西臭不可闻,不过技术是技术,用在哪里归咎于人,自定义按键最开始的宣传点是MMORPG中所用的,比如WOW中技能释放,可以通过按键记录的方式,一键触发出来,而宏则提供了更高级的形式,释放后角色自动位移,并且因为是驱动层级所以不会被检测为外挂,咳咳。

这边我以G9X设备为例,考虑到软件成熟度,不选用罗技G HUB控制软件,使用早期9.0版本的Logitech 游戏软件。

雷蛇鼠标宏怎么设置吃鸡压枪(压枪宏教程)插图13

正常记录宏是这样的,可以实现键盘按键记录,可以完成一系列功能,比如输入密码,比如一键打开浏览器,等等等,这里模式是板载存储模式

雷蛇鼠标宏怎么设置吃鸡压枪(压枪宏教程)插图15

如果是用Lua脚本的宏,就可以实现更复杂的功能,也让人觉得”这才是宏”,下面举例一段宏,我也会尽量让所有人理解

function OnEvent(event, arg)

if (event == “PROFILE_ACTIVATED”) then

— profile has been activated

end

end

上面的这一段宏,是在配置文件激活的时候运行,当然这一段什么功能也没有执行,他是空的,你如果要执行什么我们必须要添加一些东西到里面。

雷蛇鼠标宏怎么设置吃鸡压枪(压枪宏教程)插图17

我们来认识一下,常用的一些”事情”,在宏文件中是EVENT

G_PRESSED 按下G系列的按键,G系列自定义键在罗技的键盘上有挺多

G_RELEASED G按键释放

M_PRESSED 按下M系列的按键

M_RELEASED M系列按键释放

MOUSE_BUTTON_ PRESSED 按下鼠标按钮

MOUSE_BUTTON_RELEASED 松开鼠标按钮,也就是你手指抬起的时候

现在我们来写一个简单的宏,打开txt文本编辑器,当然我更建议你使用Windows10自带的代码编辑器,把这些复制进去。

function OnEvent(event,arg)

if(event == “MOUSE_BUTTON_PRESSED” and arg == 2) then

OutputLogMessage(“鼠标按键2按下了”);

end

end

然后保存文件,做的非常好,你现在已经掌握了如何写和保存宏了!这可是一大进步

雷蛇鼠标宏怎么设置吃鸡压枪(压枪宏教程)插图19

现在,可以打开控制软件,为了开启强大的功能我们必须设置为使用PC端控制软件来实现功能的模式

雷蛇鼠标宏怎么设置吃鸡压枪(压枪宏教程)插图21

进入宏编辑界面,新建一个配置文件,因为是实验所以就先只在记事本.exe里面生效

雷蛇鼠标宏怎么设置吃鸡压枪(压枪宏教程)插图23

保存后界面如下,我们可以试试把宏导入进去,当然现在还没到时候

雷蛇鼠标宏怎么设置吃鸡压枪(压枪宏教程)插图25

在配置文件图标处右键,第七项,编写脚本

雷蛇鼠标宏怎么设置吃鸡压枪(压枪宏教程)插图27

弹出如下窗口,可以在这里编辑我们的宏

雷蛇鼠标宏怎么设置吃鸡压枪(压枪宏教程)插图29

刚刚不是保存了文本文件吗,复制过来看看吧

雷蛇鼠标宏怎么设置吃鸡压枪(压枪宏教程)插图31

Ctrl+S保存宏然后就可以在记事本窗口下实验了,按动鼠标右键,下方会有提示我们设置好的语句。都是问号是正常的因为没有字库,我写的只是为了方便理解

雷蛇鼠标宏怎么设置吃鸡压枪(压枪宏教程)插图33

当然到这你应该明白了,事件要再加上arg这个数值才等于指定的按钮,比如鼠标事件+按钮对应的数值,才等于具体是哪个按钮,键盘G按键什么的也是一样的,鼠标左键是1,右键是2,中按键是3,其他鼠标也是,至于自定义按键嘛,这个请自行尝试了

雷蛇鼠标宏怎么设置吃鸡压枪(压枪宏教程)插图35

然后我们可以写点激动人心的东西,比如来理解下用鼠标宏要怎么压枪

使用鼠标宏压枪

其实,为了保护操作,左键是不能绑定脚本的,鼠标必须有一个按键必须被设置为左键,在刚刚写脚本的界面你应该也会发现不能让左键被识别。也因此,我们得重新设置一下鼠标

侧面的按键设置一个按钮,作为鼠标的左键

雷蛇鼠标宏怎么设置吃鸡压枪(压枪宏教程)插图37

鼠标左键,就随意设置为其他按键了

雷蛇鼠标宏怎么设置吃鸡压枪(压枪宏教程)插图39

另外为了方便演示,设置画图也就是mspaint.exe作为宏应用程序,这个软件简直和记事本一样经典,它的位置在C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Accessories

雷蛇鼠标宏怎么设置吃鸡压枪(压枪宏教程)插图41

再然后,要让左键识别,我们要在脚本触发的时候加上一句

EnablePrimaryMouseButtonEvents(true)

接下来要了解几段话,下面这一段话是在鼠标当前坐标下相对进行移动的,x是横向移动,y就是竖向移动

MoveMouseRelative(x,y)

1,我们可以写一个这样的宏,每次点击鼠标左键就可以让鼠标的坐标向下移动一段距离,下面这一段复制到编辑器里面可以直接看到效果

function OnEvent(event, arg)

if (event == “PROFILE_ACTIVATED”) then

EnablePrimaryMouseButtonEvents(true) –加上这句后,左键也可以随便触发脚本

elseif event == “PROFILE_DEACTIVATED” then

IsOnClick = false

end

if(event == “MOUSE_BUTTON_PRESSED” and arg == 1) then

MoveMouseRelative(0, 4) –每次点击左键向下移动4单位

end

end

2,扩展一下,按住鼠标左键的时候,坐标会自动向下,松开左键的时候,停止,这样一个简单的压枪宏就完成了

function OnEvent(event, arg)

if (event == “PROFILE_ACTIVATED”) then

EnablePrimaryMouseButtonEvents(true)

elseif event == “PROFILE_DEACTIVATED” then

IsOnClick = false –这是记录按键按下了没有的,一开始是没有

end

if(event == “MOUSE_BUTTON_PRESSED” and arg == 1) then

IsOnClick = not IsOnClick –按下的时候,翻转一下,false变true

AK() –这是压枪的函数

end

if (event == “MOUSE_BUTTON_RELEASED” and arg == 1) then

IsOnClick = false

OutputLogMessage(“Release”)

end

end

function AK()

repeat

if (IsMouseButtonPressed(1)) then –如果鼠标左键按下了,就执行向下移动2.5个位置的语句

MoveMouseRelative(0, 2.5)

Sleep(30)

end

until(not IsOnClick) –按键没按下,退出

end

雷蛇鼠标宏怎么设置吃鸡压枪(压枪宏教程)插图43

随便加的图

3,再扩展一下,随着按下时间的变化,移动坐标的幅度也变化,我想你们也不会去看,直接复制然后试试就行了

function OnEvent(event, arg)

if (event == “PROFILE_ACTIVATED”) then

EnablePrimaryMouseButtonEvents(true)

elseif event == “PROFILE_DEACTIVATED” then

IsOnClick = false

end

if(event == “MOUSE_BUTTON_PRESSED” and arg == 1) then

IsOnClick = not IsOnClick –用于记录鼠标按下

AK()

end

if (event == “MOUSE_BUTTON_RELEASED” and arg == 1) then

IsOnClick = false –松开按键的时候,让向下移动的宏失效

OutputLogMessage(“Release”)

end

end

function AK()

ShotTime = 0 –这里是左键一直按着的时间

repeat

if (IsMouseButtonPressed(1)) then

if ShotTime <480 then –时间小于480个单位的时候,向下移动2.5个位置

MoveMouseRelative(0, 2.5)

elseif ShotTime < 2400 then –如果大于480单位,但是小于2400单位的时候,移动4.5个位置,增大幅度

MoveMouseRelative(0, 4.5)

else –其他时候,比如时间大于2400单位就移动5.5个位置

MoveMouseRelative(0, 5.5)

end

end

ShotTime = ShotTime + 30

Sleep(30)

until(not IsOnClick)

end

雷蛇鼠标宏怎么设置吃鸡压枪(压枪宏教程)插图45

如果要开关,也就是说,有时候要用有时候不要用压枪宏,那我们就设置一个侧面的按键用于解决这个问题,它就用来启用或者禁用宏

function OnEvent(event, arg)

if (event == “PROFILE_ACTIVATED”) then

EnablePrimaryMouseButtonEvents(true)

MacroState = false –用于开关压枪宏

elseif event == “PROFILE_DEACTIVATED” then

IsOnClick = false

end

if(event == “MOUSE_BUTTON_PRESSED” and arg == 1) then

IsOnClick = not IsOnClick –用于记录鼠标按下

AK()

end

if (event == “MOUSE_BUTTON_RELEASED” and arg == 1) then

IsOnClick = false –松开按键的时候,让向下移动的宏失效

end

if (event == “MOUSE_BUTTON_PRESSED” and arg == 5) then

–当你按下侧边按键时候,切换宏启用的开关,从而控制压枪的启动的停用

if not MacroState then

OutputLogMessage(“Switch Macro On”)

MacroState = not MacroState

else

OutputLogMessage(“Switch Macro Off”)

MacroState = not MacroState

end

end

end

function AK()

ShotTime = 0 –这里是左键一直按着的时间

repeat

if (IsMouseButtonPressed(1) and MacroState) then –如果按键按下了,并且压枪宏开关是开的时候则执行

if ShotTime <480 then –时间小于480个单位的时候,向下移动2.5个位置

MoveMouseRelative(0, 2.5)

elseif ShotTime < 2400 then –如果大于480单位,但是小于2400单位的时候,移动4.5个位置,增大幅度

MoveMouseRelative(0, 4.5)

else –其他时候,比如时间大于2400单位就移动5.5个位置

MoveMouseRelative(0, 5.5)

end

end

ShotTime = ShotTime + 30 –左键按下的持续时间在这变化,这要依据暂停时间进行修改

Sleep(30)

until(not IsOnClick) –鼠标已经抬起了,退出

end

如何切换枪械,对应不同的枪?这个融会贯通一下就行了吧,我就不写了

雷蛇鼠标宏怎么设置吃鸡压枪(压枪宏教程)插图47

总结

罗技宏用的是Lua脚本,本身编写难度和可读性我个人是觉得还不错,当然了,如果你从未接触过代码和脚本,那是有很大难度的,至少从第一句开始就会头疼,这很正常,如果你看了后理解了,那恭喜你,你在我的想法中应该是属于2%的人群,是的,我觉得能看懂的只有2%

可能你到这里还有一些疑问,比如这里的这种宏是不是外挂,宏当然是外挂,宏本来就属于在执行外部程序,当然这比那些纯软件的比如D3D覆盖UI绘制透视框的,还有读取内存地址的非内存挂来说,可能更高级一点,它一定程度来说是硬件外挂,是通过驱动程序执行的。

感谢观看

(1)
上一篇 2022-06-23 08:46:09
下一篇 2022-06-23 08:49:53

相关推荐

  • 新品来袭丨无畏逆境,震慑战场!全新神话级角色高燃实录画面曝光!

    直面黑暗才能找到通往光明的道路!近日,瘦普收到了指挥部发来的情报,情报中首次曝光了全新神话级角色:圣殿骑士-库托的誓约的高燃实录画面,看过后的本汪大为震撼,更加期待他的降临。此外,还有双倍充值返利活动、暑期累计消费返利活动的最新消息,赶紧来看看吧~ 全新神话角色高燃实录首曝 全新神话级角色:圣殿骑士-库托的誓约即将在7月8日(本周六)与战士们见面。这次,本汪…

    2023-07-24
    2800
  • 战神4什么时候时间出(战神4在哪个平台获得下载)

    据Steam和Epic最新公开的消息,《战神4》即将于2022年1月15日登陆PC平台,目前该作已上架Steam和Epic,喜欢的可以去下载体验体验,支持简体中文,售价275元。PC版相比PS版具有画质大幅提升的特点。 游戏介绍: 踏入北欧国度 奎托斯复仇奥林匹斯众神的往事已尘封多年,他现在以凡人的身份生活在北欧众神和怪物环伺的领土中。在这片极寒荒芜的土地上…

    2022-06-11
    4810
  • Steam中国客户端是什么时候上线的?

    据业内分析师 Daniel Ahmad 消息,Steam 中国客户端账户注册页面现已上线,但目前还不允许登陆和注册。 据悉,目前该注册页面已经可以访问,在完成验证电子邮箱的步骤后,页面将跳转至一个由 “pwesports.cn”提供的实名认证页面,“pwesports.cn”是完美世界征奇(上海)多媒体科技有限公司所拥有的域名,这也表明 Steam 中国版客…

    2022-08-31
    4740
  • 有什么好玩的回合制游戏推荐(魔幻风格回合制游戏)

    《术士:秘术宗师》(Warlock – Master of the Arcane)是一款回合制魔幻策略游戏,该游戏将会带领各位玩家重临《王权》背景中的玄幻世界——“Ardania”。玩家将会在游戏中饰演一位伟大的魔法师,统领这片大陆上三大种族的其中一支,联同召唤物和野兽,你必须组织属于你的王国,管理城市并整顿军队,把领土向外扩展;与其他魔法师宣战…

    2022-10-18
    4820
  • 《魔域》系列游戏发展历程回顾:17年努力不负玩家

    魔域17周年青春献礼之作《魔域手游2》将于3月23日全平台公测。该产品由《魔域手游2》由魔域原班人马开发团队深耕五年重磅打造,传承经典“魔域”内核,全面重绘雷鸣大陆世界版图,并引入全新开发引擎焕新经典玩法,打造极具创造力的魔幻世界。 不管是对于魔域品牌还是魔域玩家来说,十七年都是值得纪念的时光。那么今天就请跟随小编视角,来看看《魔域》系列产品的发展历程吧。 …

    2023-03-21
    3030

文章包括原创、肖像、评论、剧本、改编、译本、转载、游戏、文字等内容,由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 782699939@qq.com 举报,一经查实,本站将第一时间删除内容。
本文链接:https://www.dianler.com/archives/49784.html

联系我们

联系我们

QQ号:3623667043

返回顶部