【发布时间】:2021-12-12 14:30:56
【问题描述】:
您好,我被问到我在整个代码中遇到的问题。
这个代码是我在 G502 Lightspeed 上按下 MB4 和 MB5 来建造墙壁和地板的代码:
----------------
-- Boutton 4 sol ou sol et toit - MB4 floor or floor and roof
----------------
if (event == "MOUSE_BUTTON_PRESSED" and arg == 4) then
PlayMacro("PlusReso")
if not IsMouseButtonPressed(3) then
FastSleep(1)
PressAndReleaseKey("F2")-- Sol - Floor
FastSleep(1)
PressKey("F6")-- Construire - Place Building
FastSleep(1)
end
if IsMouseButtonPressed(3) then
PressAndReleaseKey(7)
FastSleep(1)
-- Petite Boucle - Little Loop
for i=1, 20 do
for j=1, 5 do
PressAndReleaseKey("F4")-- Toit - Roof
FastSleep(1)
PressKey("F6")-- Construire - Place Building
FastSleep(1)
end
for j=1, 5 do
PressAndReleaseKey("F2")-- Sol - Floor
FastSleep(1)
PressKey("F6")-- Construire - Place Building
FastSleep(1)
end
end
end
elseif (event == "MOUSE_BUTTON_RELEASED" and arg == 4) then
if not IsMouseButtonPressed(5) then
ReleaseKey("F6")
PressAndReleaseKey(7) -- Alterner les raccourcis - Switch Quickbar
PlayMacro("MoinsReso")
end
end
----------------
-- Boutton 5 mur ou sol et mur - MB5 wall or wall and floor
----------------
if (event == "MOUSE_BUTTON_PRESSED" and arg == 5) then
PlayMacro("PlusReso")
if IsMouseButtonPressed(4) then
repeat
FastSleep(1)
PressAndReleaseKey("F2")-- Sol - Floor
FastSleep(1)
PressKey("F6")-- Construire - Place Building
FastSleep(1)
FastSleep(1)
PressAndReleaseKey("F1")-- Mode construction Mur
FastSleep(1)
PressKey("F6")-- Construire - Place Building
FastSleep(1)
until not IsMouseButtonPressed(4)
ReleaseKey("F6")
PressAndReleaseKey(7) -- Alterner les raccourcis - Switch Quickbar
end
if not IsMouseButtonPressed(4) then
repeat
FastSleep(1)
PressAndReleaseKey("F1")-- Mode construction Mur
FastSleep(1)
PressKey("F6")-- Construire - Place Building
FastSleep(1)
until not IsMouseButtonPressed(5)
if not IsMouseButtonPressed(4) then
ReleaseKey("F6")-- Construire - Place Building
PressAndReleaseKey(7) -- Alterner les raccourcis - Switch Quickbar
PlayMacro("MoinsReso")
end
end
end
我的第一个代码更简单,在 MB4 和 MB5 上重复循环,但是当两者都被按下时,它们不能一起工作。
类似这样的:
如果按下 MB4 重复地板建造 直到没有按下 MB4
如果按下 MB 重复地板建造 直到没有按下 MB5
在此之前,我只是在 MB4 和 MB5 上使用宏来构建。很好,但是当我快速移动鼠标时,有些墙壁或地板没有建成。 Lua 让我拥有非常快速的构建体验。
那么我怎样才能让两个循环一起重复呢?我错过了什么?
第二个问题是宏观增减dpi(PlusReso和MoinsReso)。它工作得很好,但有时我在释放所有鼠标按钮后仍然卡在高 dpi 中,无法瞄准。
我们是否可以编写一个简单的代码来增加和减少 dpi,而不使用宏,并确保在释放一个或几个按钮后不会仍然停留在高 dpi?
谢谢
【问题讨论】:
-
PlusReso和MoinsReso是如何定义的? -
它们是罗技 Ghub 上的宏,未绑定到任何按钮。宏的工作很简单。 PlusReso 只是增加 DPI 而 MoinsReso 减少它。我的默认 DPI 设置为 800,而我的鼠标上只有另一个定义为 3000。
-
尝试在
PlayMacro("MoinsReso")前后插入Sleep(30) -
@EgorSkriptnuff 感谢您提供以下代码。起初它不起作用,但突然它起作用了。不要问我为什么。好消息是无论首先按下哪个按钮,墙壁和地板都可以非常快速地构建在一起。带屋顶的人民币也是如此。
-
请帮助我理解=为什么在脚本开头而不是在脚本末尾使用本地?我试图将楼梯添加到您的代码中,但本地 MB6 = IsMouseButtonPressed(6) 给出错误(我知道但我尝试过)并且本地 MB6 = (event == "MOUSE_BUTTON_PRESSED" and arg == 6) 不起作用。你猜我的楼梯是MB6,不能改变。谢谢
标签: lua macros logitech-gaming-software