栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

罗技Ghub配置文件压枪编程——仅供学习

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

罗技Ghub配置文件压枪编程——仅供学习

罗技Ghub配置文件压枪编程——仅供学习
  • 文档和基础
    • C语言基础
    • Lua简单语法
    • G-series Lua API文档
  • 编程实例
  • 如何导入配置文件
  • 参考

文档和基础 C语言基础

尽管我们基本只需要使用罗技现成的接口简单的编程,但编程所使用的lua脚本语言基于C语言开发,仍需掌握编程语言的基本语法,可参考C语言菜鸟教程

Lua简单语法

在掌握着C语言语法的前提下,Lua有着一些细小的区别,在使用循环等语句时需正确使用。可参考Lua菜鸟教程

G-series Lua API文档

罗技已经写好了很多的现成的操作接口,我们主要使用G-series Lua API文档中的函数。中文文档可参考罗技G系列宏命令编程参考

编程实例

我使用的是罗技G Wireless Pro鼠标,其键位图如下,其中G6位于鼠标底部


代码如下:

local recoil = false
--recoil为开关变量
local Xstep = {-3,0,5,-4,-7, -8,-5,-6,2,8, 4,0,2,0,-4, -2,-3,4,4,2, 2,3,-4,-5,-5, -2}
local Ystep = {13,13,8,13,21, 14,12,13,11,11, 10,7,10,6,4, 4,2,5,3,6, 4,3,2,2,1, 3}
local Tstep = 55
local capacity = 26
--Xstep和Ystep为每发子弹移动的像素数组,正方向分别为向右和向下
--Tstep为射击间隔
--capacity为满弹夹时子弹容量-1

EnablePrimaryMouseButtonEvents(true)
--禁用鼠标左键默认保护

function OnEvent(event, arg)
  OutputLogMessage("event = %s, arg = %dn", event, arg)
  --监听到鼠标事件时向控制台输出

  if (event == "MOUSE_BUTTON_PRESSED" and arg == 7) then
   recoil = not recoil
   OutputLogMessage("recoil = %sn",recoil)
  end
  --当按下7号键时,改变开关变量(切换开关状态)

  if (event == "MOUSE_BUTTON_PRESSED" and arg == 1 and recoil == true) then
    Sleep(1)
    for i=1,capacity do
        if(IsMouseButtonPressed(1)  == false) then
            OutputLogMessage("breakn")
            break
        end
        MoveMouseRelative(Xstep[i],Ystep[i])
        Sleep(Tstep)
    end
    OutputLogMessage("endn")
  end
--当按下1号键时,按序执行压枪数组,松开或弹夹为0后结束压枪
end

对于固定弹道的游戏,在输入了合适的Xstep,Ystep,Tstep和capacity后可实现完美压枪,仅供学习。写这篇文章出于我急切的分享(炫耀)心情,但承诺从未在pvp游戏中使用过鼠标宏。鼠标宏等同于外挂!会导致封号,禁止在多人游戏中使用,希望你对得起你妈妈教你做人 :)

以上代码是一发一发子弹压枪,对于非固定弹道时,单向的拖动鼠标可以达到粗糙的压枪效果,可使用以下代码:

local recoil = false
local Xstep = 3
local Ystep = 22
EnablePrimaryMouseButtonEvents(true)

function OnEvent(event, arg)
  OutputLogMessage("event = %s, arg = %dn", event, arg)

  if (event == "MOUSE_BUTTON_PRESSED" and arg == 7) then
   recoil = not recoil
   OutputLogMessage("recoil = %sn",recoil)
  end

  if (event == "MOUSE_BUTTON_PRESSED" and arg == 1 and recoil == true) then
    Sleep(4)
    while(IsMouseButtonPressed(1))
    do
      Sleep(1)
      MoveMouseRelative(Xstep,Ystep)
      Sleep(10)
      OutputLogMessage("Move 1 step endn")
    end
  end
end
如何导入配置文件

  1. 点击上方的选择配置文件
  2. 在下方的配置文件中点击编写脚本
  3. 新建脚本并命名
  4. 在黑框中粘贴脚本代码
  5. 点击黑框下方的编辑脚本
  6. 再次粘贴代码后保存
  7. 关闭编辑代码窗口后即可
参考

https://blog.csdn.net/qq_41090038/article/details/108221352
https://www.cnblogs.com/huic/p/14057206.html
学习过程中参考了以上两篇文章,特此致谢

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/346866.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号