罗技游戏软件 LUA脚本编程 从入门到放弃 篇一:开关与简单连招

2017-03-27 18:39:57 75点赞 213收藏 56评论

开关与简单连招

罗技的驱动程序,从最早的Mouseware,到后来的SetPoint,再到现在的罗技游戏软件(Logitech Gaming Software),除了不支持旧鼠标比较操蛋,功能上的增强还是有目共睹的。特别是LGS有真正的脚本编程功能(非普通宏),不免会引来一些遐想:我能用这个功能做到什么程度?

事实上,LGS的脚本功能相较于外挂,甚至是按键精灵来说,是相当弱的。它有许多做不到的事情。

LGS做不到的事情有:(基于8.91.48版本)

不能屏幕取色。按键精灵有屏幕取色的功能,以实现外挂的编写。LGS当然不行。

不能响应普通键盘按键。LGS能响应的,只有驱动本身支持的鼠标按键,以及G系列键盘的M键、G键。敲下字母或者回车或者空格之类的,是不能响应的。

不能响应滚轮事件。目前LGS只能模拟滚轮,而不能响应滚轮。也就是说你只能通过别的事件,模拟滚动。而不能接收滚动事件,去做别的事。

不能区分具体设备。LGS的事件只能区分设备类别,键盘,鼠标,或是G13之类的左手控制器,但不能区分具体设备。比如同时插了G500和G600,事件无法区分。

搞明白什么做不到,也就相当于知道了大概能做到什么。

再来看LGS用的脚本语言。LGS用的是LUA,名气可能没有PYTHON大,但是在游戏行业应用还是相当广泛。以前我在某游戏公司做到过LUA项目监制,所以相较于照抄百度百科就号称内部员工的标题党,以及号称自己家3个月宝宝可以将近12个小时不吃不喝不拉稳稳安睡的夸张党,我觉得自己还是有点真干货可以分享的。

开关与简单连招

LGS的脚本,是和配置文件相绑定的。

开关与简单连招

我们可以为每个程序单独设置一个配置文件,省去手动切换的麻烦。只需要配置主程序即可,不属本文范畴,不再赘述。

最近一直都在更新DOTA2的解说,那就先拿DOTA2来做例子。
注意,本系列主要的目的是认知LGS的功能,熟悉一些LUA语法,从而知道要实现某功能的时候“该怎么做”,而不是说一定就得这么做。毕竟,需求永远是在变的。

开关与简单连招

调试脚本的过程就不上了,我们直接来看成品的代码。

开关与简单连招

LGS的事件统一由OnEvent这个函数触发,并传递event, arg, family这三个参数。
event指定事件类型,是鼠标按下,还是放开等。
arg传递事件参数,按下的是哪一个键。
family传递设备类型,只会有"mouse","kb","lhc"这几个结果,所以区分多鼠标是没希望了。

关于LGS的事件以及参数等API的详情,驱动是有自带文档,但为英文。国内有人翻译成中文,但是谢绝转载,所以请搜索“Logitech Gaming Software G 系列 Lua API 中文参考文档”以获取。

--do return end;
这句注释掉的请直接无视。其实就是不想用脚本的时候,取消注释,就无条件返回。
但是,LUA的语法里,return只能放在一个块结尾的前面,所以不能直接返回,而要用do和end包起来。

IsKeyLockOn这个函数可以判断键盘上三个灯的状态。大小写、NUMLOCK一般都有用,所以我还是用scrolllock这个键作为脚本的开关。以前写的魔兽改键器War3assis也是用这个当开关。

-------------------------------------------------------------------

而具体的代码,还是从简单开始吧,毕竟从入门到放弃嘛开关与简单连招

开关与简单连招

这是一个DOTA2沙王跳大的脚本。
第一期的内容比较简单,属于用宏也可以做的。关键是熟悉LGS内部函数、参数的运用以及相应的LUA语法。

首先是语法细节。
细心的朋友会注意到,有的单句末尾我有加分号,有的没有~
嗯,是的,LUA并不强制加分号……开关与简单连招

然后是LGS的一些基础函数的应用。
PressKey就是按下某按键,确切的说,在你用ReleaseKey松开某按键之前,是“一直按住”状态。这里用来模拟按住SHIFT跳大。
PressAndReleaseKey就是按下并马上放开,可以比先PressKey再ReleaseKey省一句代码。
Sleep是延迟功能。可能有接触过编程的朋友,有Sleep会导致某种卡死的印象,不过那是其他语言的事件,和线程有关。在这里不必担心,就是普通的延迟。
最后,LGS有一个很坑的地方要提醒大家:

在OnEvent传递的参数里,123代表的值是左右中。
而在PressAndReleaseMouseButton函数里,123代表的是左中右。

看出区别了么~简直坑爹~
比较好的办法是把这些数值定义成参数常量,使用的时候使用参数。这个下期再讲。

然后呢,我用的是DOTA2的QWER按键布局,所以大招是R,跳刀的按键是V。如果用的是DOTA1按键,大应该是C,而物品就是PressAndReleaseKey("num4");了。

其实这段脚本比较关键的,反而是中间的SLEEP延迟。
延迟太短或太长,都有出问题的风险。
这个延迟根据你的用途都不一样,基本每个脚本都要精确到0.1秒级别去调。

延迟能大的,建议还是大一点为好,太快的话,很多时候都会出现问题。
比如如果有DOTA1玩过来的朋友,用猛犸跳大,有时候会莫名失败,没跳出来,为什么呢?
DOTA1的跳刀你如果跳身后的话,英雄是会进行一个小的转身,再跳出来的。而这时候如果你手快直接V了,在英雄还在转身的时候,还未跳出就一屁股坐下去,空大~此处直接上配套视频看效果。

就算简单连招用宏也能做,但是脚本仍然具有相当的优势。比如我需要启用的时候只需要开启scrolllock键,不用按掉即可。如果用宏,还得进驱动设置。编辑起来也更方便。

好的,第一期的内容就先到这里,代码放到度盘里,车牌1bp3oOP5。

下期预告:表与多按键开关与简单连招

展开 收起

Logitech 罗技 M720 2.4G蓝牙 优联 双模无线鼠标 1000DPI 黑色

Logitech 罗技 M720 2.4G蓝牙 优联 双模无线鼠标 1000DPI 黑色

143元起

Logitech 罗技 G502 2.4G LIGHTSPEED 无线鼠标 25600DPI RGB 黑色

Logitech 罗技 G502 2.4G LIGHTSPEED 无线鼠标 25600DPI RGB 黑色

208元起

Logitech 罗技 G304 2.4G LIGHTSPEED 无线鼠标 12000DPI

Logitech 罗技 G304 2.4G LIGHTSPEED 无线鼠标 12000DPI

119元起

logitech 罗技 G502 HERO 主宰者 有线鼠标 16000DPI RGB 黑色

logitech 罗技 G502 HERO 主宰者 有线鼠标 16000DPI RGB 黑色

208元起

logitech 罗技 GPW 二代 2.4G Lightspeed 无线鼠标 25600DPI

logitech 罗技 GPW 二代 2.4G Lightspeed 无线鼠标 25600DPI

369元起

Logitech 罗技 G703 HERO传感器升级版 2.4G Lightspeed 双模无线鼠标 25600DPI 黑色

Logitech 罗技 G703 HERO传感器升级版 2.4G Lightspeed 双模无线鼠标 25600DPI 黑色

259元起

logitech 罗技 G102 二代 有线鼠标 8000DPI RGB

logitech 罗技 G102 二代 有线鼠标 8000DPI RGB

85元起

logitech 罗技 G705 2.4G蓝牙 Lightspeed 双模无线鼠标 8200DPI RGB 白色

logitech 罗技 G705 2.4G蓝牙 Lightspeed 双模无线鼠标 8200DPI RGB 白色

341.05元起

logitech 罗技 G PRO WIRELESS 2.4G Lightspeed无线鼠标 25600DPI

logitech 罗技 G PRO WIRELESS 2.4G Lightspeed无线鼠标 25600DPI

359元起

logitech 罗技 G502 SE Hero 熊猫版 有线鼠标 16000DPI RGB 黑色

logitech 罗技 G502 SE Hero 熊猫版 有线鼠标 16000DPI RGB 黑色

184元起

logitech 罗技 G304 K/DA限定版 2.4G Lightspeed 无线鼠标 12000DPI 白色+KDA定制大鼠标垫

logitech 罗技 G304 K/DA限定版 2.4G Lightspeed 无线鼠标 12000DPI 白色+KDA定制大鼠标垫

179元起

logitech 罗技 游戏电竞鼠标垫布面 大号炫彩白G

logitech 罗技 游戏电竞鼠标垫布面 大号炫彩白G

9.9元起

logitech 罗技 MX Master 3S 2.4G蓝牙 双模无线鼠标 8000DPI

logitech 罗技 MX Master 3S 2.4G蓝牙 双模无线鼠标 8000DPI

369元起

Logitech 罗技 G502 SE 有线鼠标 25600DPI RGB

Logitech 罗技 G502 SE 有线鼠标 25600DPI RGB

177.66元起

Logitech 罗技 G402 有线鼠标 4000DPI 黑色

Logitech 罗技 G402 有线鼠标 4000DPI 黑色

179元起

Logitech 罗技 G502 HERO 主宰者 有线鼠标 16000DPI RGB

Logitech 罗技 G502 HERO 主宰者 有线鼠标 16000DPI RGB

156元起
56评论

  • 精彩
  • 最新
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
213
扫一下,分享更方便,购买更轻松