如何在单发状态下停止函数,但启用连发/自动射击
2017-10-5 20:52:37
收藏:0
阅读:63
评论:1
我为LUA Logitech游戏鼠标编写了一个小的防后坐力脚本,似乎功能正确,但当我单发时,它会执行整个过程,并且在鼠标按钮未按下时无法停止:
function OnEvent(event, arg)
OutputLogMessage("event = %s, arg = %d\n", event, arg)
if (event == "PROFILE_ACTIVATED") then
EnablePrimaryMouseButtonEvents(true)
elseif event == "PROFILE_DEACTIVATED" then
ReleaseMouseButton(2)
end
if (event == "MOUSE_BUTTON_PRESSED" and arg == 5) then
kaki = not kaki
kus = not kus
end
if (event == "MOUSE_BUTTON_PRESSED" and arg == 1 and kaki) then
if kaki then
repeat
Sleep(50)
MoveMouseRelative(0, 1)
Sleep(100)
MoveMouseRelative(0, 16)
Sleep(100)
MoveMouseRelative(0, 26)
Sleep(100)
MoveMouseRelative(-2, 25)
Sleep(100)
MoveMouseRelative(10, 28)
Sleep(100)
MoveMouseRelative(8, 25)
Sleep(100)
MoveMouseRelative(10, 15)
Sleep(100)
MoveMouseRelative(-14, 15)
Sleep(100)
MoveMouseRelative(-34, -1)
Sleep(100)
MoveMouseRelative(-18, 0)
Sleep(100)
MoveMouseRelative(10, 10)
Sleep(100)
MoveMouseRelative(-13, 5)
Sleep(100)
MoveMouseRelative(-20, -5)
Sleep(100)
MoveMouseRelative(-5, 0)
Sleep(100)
MoveMouseRelative(33, 3)
Sleep(100)
MoveMouseRelative(15, 6)
Sleep(100)
MoveMouseRelative(15, 5)
Sleep(100)
MoveMouseRelative(20, 0)
Sleep(100)
MoveMouseRelative(28, -10)
Sleep(100)
MoveMouseRelative(-15, 4)
Sleep(100)
MoveMouseRelative(5, 0)
Sleep(100)
MoveMouseRelative(-8, 8)
Sleep(100)
MoveMouseRelative(-6, 4)
Sleep(100)
MoveMouseRelative(3, -2)
MoveMouseRelative(13, 0)
Sleep(100)
MoveMouseRelative(5, 0)
Sleep(100)
MoveMouseRelative(-15, 0)
Sleep(100)
MoveMouseRelative(-30, 0)
Sleep(100)
MoveMouseRelative(-35, -13)
Sleep(100)
MoveMouseRelative(-13, -4)
Sleep(100)
until not IsMouseButtonPressed(1)
end
end
end
有何建议可以在函数执行中途或鼠标按钮未按下时取消函数,使循环不会完成并在最后一枪结束。
(在游戏中,当我单发时,鼠标将移动整个后坐力过程)
点赞
评论区的留言会收到邮件通知哦~
推荐文章
- Lua 虚拟机加密load(string.dump(function)) 后执行失败问题如何解决
- 我想创建一个 Nginx 规则,禁止访问
- 如何将两个不同的lua文件合成一个 东西有点长 大佬请耐心看完 我是小白研究几天了都没搞定
- 如何在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 代码?

尝试使用协程。
如果kaki then 本地协同程序=coroutine.create(function() MoveMouseRelative(0, 1) coroutine.yield() MoveMouseRelative(0, 16) coroutine.yield() MoveMouseRelative(0, 26) coroutine.yield() MoveMouseRelative(-2, 25) coroutine.yield() MoveMouseRelative(10, 28) coroutine.yield() MoveMouseRelative(8, 25) coroutine.yield() MoveMouseRelative(10, 15) coroutine.yield() MoveMouseRelative(-14, 15) coroutine.yield() MoveMouseRelative(-34, -1) coroutine.yield() MoveMouseRelative(-18, 0) coroutine.yield() MoveMouseRelative(10, 10) coroutine.yield() MoveMouseRelative(-13, 5) coroutine.yield() MoveMouseRelative(-20, -5) coroutine.yield() MoveMouseRelative(-5, 0) coroutine.yield() MoveMouseRelative(33, 3) coroutine.yield() MoveMouseRelative(15, 6) coroutine.yield() MoveMouseRelative(15, 5) coroutine.yield() MoveMouseRelative(20, 0) coroutine.yield() MoveMouseRelative(28, -10) coroutine.yield() MoveMouseRelative(-15, 4) coroutine.yield() MoveMouseRelative(5, 0) coroutine.yield() MoveMouseRelative(-8, 8) coroutine.yield() MoveMouseRelative(-6, 4) coroutine.yield() MoveMouseRelative(3, -2) MoveMouseRelative(13, 0) coroutine.yield() MoveMouseRelative(5, 0) coroutine.yield() MoveMouseRelative(-15, 0) coroutine.yield() MoveMouseRelative(-30, 0) coroutine.yield() MoveMouseRelative(-35, -13) coroutine.yield() MoveMouseRelative(-13, -4) end) coroutine.resume(本地协同程序) 重复 睡眠(100) coroutine.resume(本地协同程序) 直到not IsMouseButtonPressed(1) end