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

前言

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

你如果是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

相关推荐

  • 《黎明觉醒:生机》首款新能源载具福特电马满电来袭~免费回馈千万玩家

    《黎明觉醒:生机》由腾讯光子工作室群自主研发,拥有100平方公里超大无缝地图,丰富的地貌和拟真天气。在这样一个危机四伏的世界中,幸存者经常需要驾驶载具,穿梭于破败的城市街道或者荒芜旷野。车是幸存者探索世界的工具,也是帮助大家逃离危险的伙伴。《黎明觉醒:生机》与福特电马达成战略合作,首款新能源载具福特电马现已登陆游戏!幸存者可以在游戏中通过运营活动「生存行动」…

    2023-04-06
    1950
  • 《国战传奇》灵兽攻略来袭!奖励掉落合成圣器、时装、SSR灵兽!

    游戏中,灵兽是我们征战沙城的得力助手。如果能获得一个顶级灵兽,那一定是非常让人羡慕的。现在进入游戏去任意一张地图都有机会掉落“兽卵”地图等级越高,就有几率打出越高级的兽卵哦。一般封魔谷能掉落一尾和二尾,第三大陆暗黑大陆能掉落二尾到四尾,第四大陆奇迹大陆能掉落五尾到六尾,第五大陆虚空大陆能掉落七尾!希望大家都能早日得到心仪的灵兽。 获得兽卵之后,在空旷处使用就…

    2023-05-07
    1920
  • 《创魔与魔法·新纪元》上线,经典沙盒手游拉开新篇章

    1月12日,经典沙盒手游创造与魔法正式更新了其寒假大版本《创造与魔法:新纪元》,标志着这款陪伴用户走过了五年岁月的人气手游迈入了一个新的产品阶段,正式拉开创魔2.0时代的帷幕  【新地图 探秘陨星坠落之地】 新地图整体萦绕着一种神秘而浪漫的气息。这片位于云海之上的星域遍布各种陨星异兽和珍稀资源,而守护此地秩序的则是强大而危险的BOSS“星神”。 击败BOSS…

    2023-04-12
    1800
  • 什么是任亏券(任亏券怎么用)

    什么是任亏券:任天堂会员可以购买的,可以兑换两个任天堂发行的所有Switch游戏优惠券,有效期购买后的一年。 日服一直有,港服到6月25日。 日服地址: https://store-jp.nintendo.com/list/software/70020000000021.html 港服地址: https://ec.nintendo.com/HK/zh/pre…

    2022-09-27
    3680
  • 和谐织就暗网,尽情享受盛宴!《时空中的绘旅人》「珠宝之心」活动7月13日华丽开启

    灯下珠宝璀璨夺目,来往宾客杯酒言欢。和谐平静织就暗网,请尽情坠入这场华丽盛宴。盛大的珠宝展览,危机暗涌的夜晚。《时空中的绘旅人》「珠宝之心」展览将于7月13日更新后华丽开启,期待你的到来! 在本次珠宝展览中,我们很荣幸邀请到中国高定第一人郭培老师作为“特邀形象顾问”进行服装设计指导,更多内容将于不久后与大家见面。 【珠宝之心·展览邀请】 盛情满盈信笺,敬邀挚…

    2023-07-24
    1800

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

联系我们

联系我们

QQ号:3623667043

返回顶部