Lua脚本-同时按下多个键,松开停止
2021-9-20 12:8:53
收藏:0
阅读:311
评论:1
早上好,
我目前有一个记录在洛技上的宏(“循环”),它执行以下操作:
120毫秒延迟,键1,90毫秒延迟,左键单击,150毫秒延迟,键2,90毫秒延迟,左键单击,140毫秒延迟
它设置为切换。然后我使用以下脚本:
local flag
function OnEvent(event, arg)
if event ==“MOUSE_BUTTON_PRESSED”并且arg == 20 then
PlayMacro(“循环”)
end
if event ==“MOUSE_BUTTON_RELEASED”并且arg == 20 then
AbortMacro()
end
end
这很好用,但是... :D 显然,左键单击后的所有延迟在每次重复时都是相同的。我希望它们随机在120和160之间。遗憾的是,我是一个无望的LUA新手,所以我做了一些搜索并尝试将其全部扔到lua脚本中,但是我做错了什么,因为它只是按下1而不停止:
local flag
function OnEvent(event, arg)
if event ==“MOUSE_BUTTON_PRESSED”and arg == 20 then
Sleep(math.random(120, 160))
PressKey(“1”)
Releasekey(“1”)
Sleep(90)
PressMouseButton(1)
ReleaseMouseButton(1)
Sleep(math.random(120, 160))
PressKey(“2”)
Releasekey(“2”)
Sleep(90)
PressMouseButton(1)
ReleaseMouseButton(1)
end
if event ==“MOUSE_BUTTON_RELEASED”and arg == 20 then
return
end
end
我还缺少什么?
感谢帮助!
原文链接 https://stackoverflow.com/questions/69234657
点赞
评论区的留言会收到邮件通知哦~
推荐文章
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?
- addEventListener 返回 nil Lua
- Lua中获取用户配置主目录的跨平台方法
- 如何编写 Lua 模式将字符串(嵌套数组)转换为真正的数组?
步骤1.
你在游戏中使用鼠标4号键(“后退”)吗?
步骤2.
你需要将游戏操作从鼠标4号键重新映射到其他键。
请执行以下操作:
选择在游戏中当前未使用的键盘键
(假设目前未使用的键是
F12
)进入LGS中的大鼠标图片并将命令
F12
分配给你的物理鼠标4号键进入游戏设置并将游戏操作设置为
F12
,而不是鼠标4号键结果是,当你按下物理鼠标4号键时,游戏会接收到
F12
并激活游戏操作。现在跳过“步骤3”并继续到“步骤4”。
步骤3.
进入LGS中的大鼠标图片。
取消分配标准命令“后退”从物理鼠标4号键(从下拉菜单中选择“取消分配”)。
步骤4.
进入LGS中的大鼠标图片。
将命令“后退”分配给你的物理按钮G20。
步骤5.
设置脚本
local function InterruptableSleep(ms) local tm = GetRunningTime() + ms while GetRunningTime() < tm do Sleep(5) if not IsMouseButtonPressed(4) then return true end end end function OnEvent(event, arg) if event == "MOUSE_BUTTON_PRESSED" and arg == 20 then repeat if InterruptableSleep(math.random(120, 160)) then break end PressKey("1") Releasekey("1") if InterruptableSleep(90) then break end PressMouseButton(1) ReleaseMouseButton(1) if InterruptableSleep(math.random(120, 160)) then break end PressKey("2") Releasekey("2") if InterruptableSleep(90) then break end PressMouseButton(1) ReleaseMouseButton(1) until not IsMouseButtonPressed(4) -- 4 = "Back" end end