罗技Lua脚本-CF神圣爆裂者自动开枪

1 篇文章 0 订阅
1 篇文章 0 订阅

仅做个人备忘用,文章逻辑也不严谨,就给自己做个记录。

文章目录

默认宏

默认情况下配置一个左键长按,右键间隔释放即可:
在这里插入图片描述
在左键长按情况下可穿插使用F道具(可能因为网络延迟或者资源加载等因素导致释放失败,所以下面多复制了几次):
在这里插入图片描述
实际上默认的配置即可满足要求,但实际使用中发现一些问题:

  1. 左键长按开枪;因长按未释放的原因,脚本停止后必须手动再点一次左键才能释放;且在开启过中点击一次左键也会使宏失效。
  2. F道具的使用;无论如何调节延迟都可能存在一定的概率与左键冲突(在左键长按的情况下开启宏),导致技能释放不及时坑队友!

LUA脚本

基于 G-series Lua API V8.45 编写了LUA脚本

-- 使用前确保  scrolllock、capslock 处于关闭状态 (通过修改鼠标按钮实现控制开、关状态)

--右键根据scrolllock锁定 亮起执行
local rightClickEvent = "MOUSE_BUTTON_PRESSED"
local rightClickArg = 4

--左键根据capslock锁定  亮起执行
local leftClickEvent = "MOUSE_BUTTON_PRESSED"
local leftClickArg = 5

--使用F道具释放capslock、完成后锁定scrolllock (F道具全部右键使用)
local fClickEvent = "MOUSE_BUTTON_PRESSED"
local fClickArg = 6

function OnEvent(event, arg)
	--OutputLogMessage("event = %s, arg = %s\n", event, arg);
	
	--触发右键事件执行
	if event == rightClickEvent and arg == rightClickArg then
		--OutputLogMessage("rightEvent click...\n")
		--如果左键控制 capslock 已亮起则关闭
		if IsKeyLockOn("capslock") then
			PressAndReleaseKey("capslock")
		end
		--必须停顿,否者会出现按键未锁定
		Sleep(150)
		rightEvent()
	end

	--触发左键事件执行
	if event == leftClickEvent and arg == leftClickArg then
		--OutputLogMessage("leftEvent click...\n")
		--如果右键控制 scrolllock 已亮起则关闭
		if IsKeyLockOn("scrolllock") then
			PressAndReleaseKey("scrolllock")
		end
		--必须停顿,否者会出现按键未锁定
		Sleep(150)
		leftEvent()
	end

	--道具F使用,手动关闭其他再使用也可以,非必要
	if event == fClickEvent and arg == fClickArg then
		--OutputLogMessage("fff click...\n")

		--TODO 这里存在一种情况,F也是绑定的 capslock 
		--当右键在执行 scrolllock 时, capslock 关闭, 执行 F capslock 会被打开, 俩个按钮都会锁定
		--当左键在执行 capslock 时, capslock 关闭, 执行 F capslock 会被关闭, 俩个按钮都会被释放
		--估右键执行时,完全不需要再调用F道具的使用

		--如果左键控制 capslock 已亮起则关闭
		if IsKeyLockOn("capslock") then
			PressAndReleaseKey("capslock")
		end
		--如果右键控制 scrolllock 已亮起则关闭
		if IsKeyLockOn("scrolllock") then
			PressAndReleaseKey("scrolllock")
		end
		--必须停顿,否者会出现按键未锁定
		Sleep(150)
		fEvent()
	end

end


--左键长按 -> 连续开枪
function leftEvent()
	-- capslock 亮起 scrolllock 熄灭 则执行
	while IsKeyLockOn("capslock") and not IsKeyLockOn("scrolllock")
	do
		PressMouseButton(1)
		Sleep(100)
		--OutputLogMessage("zzzzzz~ \n");
	end
	--结束后松开左键
	ReleaseMouseButton(1)
	Sleep(10)
end


--右键点击 -> 神圣爆裂者快速放榴弹
function rightEvent()
	-- scrolllock 亮起 capslock 熄灭 则执行
	while IsKeyLockOn("scrolllock") and not IsKeyLockOn("capslock")
	do
		local sNum = math.random(20) + 30
		PressMouseButton(3)
		Sleep(sNum)
		ReleaseMouseButton(3)
		Sleep(10)
		--OutputLogMessage("biubiubiu~ %s\n", sNum);
	end
	Sleep(10)
end


--F道具使用
function fEvent()
	PressAndReleaseKey("f")
	--等待掏锤子,如果是奶瓶等一下也行,好像有加太快加不血的BUG
	Sleep(650)
	--右键
	PressAndReleaseMouseButton(3)
	--OutputLogMessage("fffff diu diu diu ~ \n");

	--可能存在网络、资源加载等波动导致没使用成功的情况,后续补充几次,问题不大
	for i=5,1,-1 do
    		Sleep(100)
		--右键
		PressAndReleaseMouseButton(3)
	end
	--OutputLogMessage("fffff ok ok ok ok ~ \n");
	Sleep(200)

	--TODO 继续执行左键长按,至于原因见 11、46行注释
	if not IsKeyLockOn("capslock") then
		PressAndReleaseKey("capslock")
	end
	Sleep(150)
	leftEvent()
end

使用Lua脚本完美的解决了F道具穿插使用,并在关闭左键长按脚本时自动释放,不再需要再次点击左键(我是真的懒)。但是在使用左键长按时点击左键导致长按失效这一问题还未找到解决方案。因这里的长按调用的后台指令,无法校验左键的状态(api获取的是物理点击状态)。

宏需改成 scrolllock、capslock 用于触发以及关闭使用
在这里插入图片描述

  • 0
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
CF(CrossFire)是一款流行的第一人称射击游戏,在游戏中,许多玩家喜欢使用脚本来提高自己的游戏表现。罗技Lua脚本是一种基于罗技鼠标的扩展功能,可以通过编写Lua脚本来辅助玩家在游戏中快速、精准地进行射击和操作。 要下载CF罗技Lua脚本,我们可以按照以下步骤进行操作: 1. 首先,在互联网上搜索CF罗技Lua脚本,可以使用搜索引擎,如百度、谷歌等。 2. 在搜索结果中,我们可以看到一些提供CF罗技Lua脚本的网站,点击其中一个网址进入。 3. 进入网站后,通常会有一个下载区域或者页面,可以在这里浏览和下载可用的CF罗技Lua脚本。 4. 在下载区域中,我们可以看到各种不同类型的脚本,可以根据自己的需求选择合适的脚本。一般会提供简单的射击辅助、自动连发等功能。 5. 在选择一个脚本后,我们点击下载按钮,可能需要进行一些验证或者填写一些信息,根据网站的要求进行操作。 6. 下载完成后,我们可以将Lua脚本文件保存到本地计算机的某个文件夹中。 7. 然后,根据使用的罗技鼠标型号,打开罗技鼠标驱动程序的设置界面。 8. 在设置界面中,我们可以找到一个"宏设置"或者"脚本设置"的选项,点击进入。 9. 在宏设置或者脚本设置界面中,我们可以将之前下载的CF罗技Lua脚本文件添加到罗技鼠标的宏脚本中。 10. 完成上述步骤后,我们就可以在游戏中使用CF罗技Lua脚本,享受更加精准、高效的射击体验了。 需要注意的是,使用脚本进行游戏可能会违反游戏的规则,甚至被认定为作弊行为。因此,在使用脚本的时候,我们应该明确游戏的规定,并根据游戏的要求进行合理和合法的操作。
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值