吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 13386|回复: 29
收起左侧

[其他原创] 罗技宏小白教程,我的第一个宏代码。

  [复制链接]
dwr神 发表于 2021-4-15 10:52

前面是废话,教程直接到后面

大佬看看就好,轻点喷

起因

系统崩了 重装系统后 去罗技官网下载 GHUB 打开就是改改光效什么的,想起来我的g102好像支持宏的,然后去网上找了一堆脚本看看,本人也是做编程方面工作的  最后写出了第一个自己的简易压枪。 罗技用的lua 好多语法和c语言差不多 看语法可以直接去菜鸟 lua菜鸟教程

直接上源码

lock =false

function OnEvent(event, arg)
    EnablePrimaryMouseButtonEvents(true)
    --OutputLogMessage("event=%s arg=%d\n",event,arg)
    --OutputLogMessage(arg)
    if (event == "MOUSE_BUTTON_PRESSED" and arg == 5) then
        notLock()
    end

    if (event == "MOUSE_BUTTON_PRESSED" and arg == 1 and lock) then
        start()
    end
end

function notLock()
    lock = not lock
end

function start()
    repeat
    MoveMouseRelative(0,1)
    Sleep(9)    
    until not IsMouseButtonPressed(1)
end

教程

直接剖析程序
function OnEvent(event,arg) end
整个程序的主函数,每次你按下鼠标按键都会触发这个函数,event传递的参数是鼠标按下或者抬起,arg传递的参数是按键的编号,比如我的g102 鼠标左键按下时 event传进来的参数就是"MOUSE_BUTTON_PRESSED",arg传进来的就是1
function notLock() end
自己定义的函数了,作用就是改变全局变量lock的值,为什么要改他的值 后面会说
function start() end
依然是自己定义函数,作用就是压枪
剖析整个函数
从第一部开始,按下鼠标左键,遇到第一个罗技的API EnablePrimaryMouseButtonEvents(true) (所有的罗技api都在开发文档里面 后面我会上传) 这个api的作用是开启鼠标左键的检测,罗技默认关闭了鼠标左键, 接着往下OutputLogMessage("event=%s arg=%d\n",event,arg),前面的--为注释,注释了的代码不会执行,这个api是作用是打印,打印括号里面的东西,双引号里面是字符串,后面为值。
开始到第一个判断了
if (event == "MOUSE_BUTTON_PRESSED" and arg == 5) 判断鼠标是否按下 and 按的是5键(5号键对应鼠标的侧键),and是且的意思,两个都满足才执行里面的内容,这里因为我们按下的是鼠标左键 arg就等于了1  所以直接到下一个if
第二个判断
if (event == "MOUSE_BUTTON_PRESSED" and arg == 1 and lock) 同样的判断 同样的and   鼠标按下 and 按的是5键  and lock,这里就体现了lock 的作用  因为上面我们lock定义了一个false,所以这个判断结果为false,并不会执行, 这样整个函数就跑完了,你就发现什么都没有做 因为全跳过了, 所以体现了lock的作用,一个开关,不可能按下鼠标左键就往下压吧。当你按下鼠标5号键 lock就为 not lock ,not就是非的意思  ,比如你lock现在等于false   not一下就等于了true ,如果现在是true not一下就等于false了,
重点函数 start
压枪的函数了,压枪说白了就是在你按下开火的同时把鼠标往下移动,那我们就需要一个api了MoveMouseRelative(x,y),移动鼠标,x的值为横向移动,正为右,负为左,y的值为纵向移动,正为下,负为上,移动有了 那我们不可呢只移动一次就完了  这个时候加一个循环repeat until 结算循环的条件放在until     , IsMouseButtonPressed(1) 这个api为判断你是否按下鼠标,里面写的1就是鼠标左键,我们要的是按下就一直循环,所以在前面加一个not 就实现了一直循环,循环完成了,执行的时候发现压得太快了,一瞬间就到了底部,程序的运行都是毫秒级的,所以基本就是一毫秒往下动一次,  这个时候需要加一个延时,Sleep(1),里面传的数越大,延时就越久。

总结

看了几个脚本后写出来的,最简易的版本了,按下就往下拉鼠标,加了开关。 纯新手的不知道脚本在哪写的 先去下一个ghub 罗技官网  然后编辑配置文件就可以了

问题

目前有一个问题,换到板载内存后配置文件就失效了。
通用版本压枪并不稳,每把枪弹道后座都不一样,后续有时间之后再优化吧。


G-series Lua API 参考文档.rar

514.94 KB, 下载次数: 452, 下载积分: 吾爱币 -1 CB

罗技开发文档

免费评分

参与人数 9吾爱币 +13 热心值 +9 收起 理由
wxhwz + 1 + 1 我很赞同!
过错难错过 + 1 + 1 用心讨论,共获提升!
quitter2222 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
wzc01111274 + 1 + 1 更新了吗大佬
苏紫方璇 + 5 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
_小白 + 1 + 1 我很赞同!
JimmyTiger + 1 + 1 谢谢@Thanks!
梨疯 + 1 + 1 用心讨论,共获提升!
丿超超 + 1 + 1 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

头像被屏蔽
CSGO01 发表于 2021-4-15 21:07
提示: 作者被禁止或删除 内容自动屏蔽
bestwars 发表于 2021-4-15 12:27
15607752474 发表于 2021-4-15 11:50
头像被屏蔽
CSGO01 发表于 2021-4-15 12:11
提示: 作者被禁止或删除 内容自动屏蔽
aidjgo 发表于 2021-4-15 13:49
压枪宏就是作弊
 楼主| dwr神 发表于 2021-4-15 13:59
15607752474 发表于 2021-4-15 11:50
刺激战场和谐了,之前我也自己写过,没法用了

不清楚  我也只是研究一下,显卡都卖了 只能耍耍
 楼主| dwr神 发表于 2021-4-15 14:00
aidjgo 发表于 2021-4-15 13:49
压枪宏就是作弊

我又没说他不是作弊,这个是教程 教的是编程
 楼主| dwr神 发表于 2021-4-15 14:01
CSGO01 发表于 2021-4-15 12:11
他们只想用,不想学,弹道肯定用数组的好

刚开始写 后面再继续优化了
mule_52pj 发表于 2021-4-18 15:49
太厉害了,属于半硬件G了把
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 01:21

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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