Ghub脚本:通过按鼠标左键(LUA)向下拖动鼠标并自动点击



所以基本上我是试图使的东西在标题中解释使用Ghub Lua脚本机制,张贴下面的代码我有rn:

EnablePrimaryMouseButtonEvents(true);
function OnEvent(event, arg)
if IsKeyLockOn("capslock")then
if  IsMouseButtonPressed(1)then
repeat
MoveMouseRelative(0,4)
PressMouseButton(1)
Sleep(1,2)
ReleaseMouseButton(1)
until not IsMouseButtonPressed(1)
end
end
end

问题是,有时它只是中途停止下降,有时它只是不点击。我尝试了多种方法来解决这个问题,包括改变鼠标上按下的按钮,现在它是IsMouseButtonPressed(5),它工作得很好,但我的目标是让它在按下MouseButton(1)时工作。如果有可能的话,我将非常感谢你们的帮助,提前感谢,希望我给了你们所有必要的信息。

问题在于不可能同时模拟LMB新闻/发布并监控其状态。
解决方法如下:

步骤0。
您将要修改鼠标左键的行为。
这是一个潜在的危险操作:如果没有LMB,您的计算机几乎什么都做不了。
因此,您必须创建一个"备用lmb"。
例如,如果您不使用鼠标按钮8,您可以使它像LMB的克隆。
转到GHUB(鼠标设备,"Assignments"屏幕,SYSTEM选项卡)。
Assign "Primary "到你的物理MB#8。
现在,如果出现问题,您的LMB停止工作,您可以按mb# 8而不是LMB。


步骤1。
你会在游戏中使用鼠标4键("后退")吗?

  • 如果是(游戏中某些动作被设置为mb# 4),则继续"步骤2"。
  • 如果没有(游戏忽略mb# 4按键),跳过"第2步"。并进入"步骤3"。

步骤2。
你必须将游戏动作从mb# 4重新映射到其他键。

  • 选择当前不在游戏中使用的键盘键
    (让我们假设当前未使用F12键)
  • 转到ghb(鼠标设备,"Assignments">
    F12分配给您的物理MB#4

  • 将游戏动作设置为F12而不是mb# 4

现在当你按下物理mb# 4时,游戏接收到F12并激活游戏动作。
跳过第3步;并继续"第4步"。


步骤3。
转到GHUB(鼠标设备,"Assignments"屏幕)。
取消指定标准命令"Back"从物理mb# 4(单击并从下拉菜单中选择禁用)。
禁用mb# 4将看起来像一个白色的圆圈,里面有黑色。


步骤4。
设置脚本(见下文)。


第5步。
转到GHUB(鼠标设备,"Assignments"屏幕,SYSTEM选项卡)。
Assign "Back"你的肢体LMB。
您将看到一个关于潜在危险操作的警告。
允许此操作,因为您有"备用LMB"如果出了什么问题。

function OnEvent(event, arg)
if event == "PROFILE_ACTIVATED" then
EnablePrimaryMouseButtonEvents(true)
elseif event == "MOUSE_BUTTON_PRESSED" and arg == 1 then
PressMouseButton(1)
if IsKeyLockOn("capslock") then
repeat
MoveMouseRelative(0,4)
Sleep(10)
if not IsMouseButtonPressed(4) then break end
ReleaseMouseButton(1)
MoveMouseRelative(0,4)
Sleep(10)
PressMouseButton(1)
until not IsMouseButtonPressed(4)  -- 4 = "Back"
end
elseif event == "MOUSE_BUTTON_RELEASED" and arg == 1 then
ReleaseMouseButton(1)
elseif event == "PROFILE_DEACTIVATED" then
ReleaseMouseButton(1)
end
end

最新更新