脚本在空白行返回语法错误

这段代码返回"语法错误:第 26 行",而这个错误被提到的行是"不要修改这些设置"下的空白行。我试图删除这行,但无论我删除多少行,错误仍然存在。有人能帮忙吗?提前感谢


error syntax

这里是代码:


2--[[PUBG LEANSPAM SCRIPT 1.0]]--
--[[MASTER SCRIPT ENABLE/DISABLE SETTING]]--
--------------------------------------------------------------------------------------------------------------

local st_k="scrolllock" --开启/关闭脚本

--[[无后座力设置]]--
--------------------------------------------------------------------------------------------------------------

local n_r=5 --鼠标向下移动的像素数,默认:5
local nr_s=40 --鼠标移动之间的间隔时间,默认:40
local nr_p=0 --每次启动鼠标移动之前的延迟时间,默认:0

--[[LEAN-SPAM 设置]]--
--------------------------------------------------------------------------------------------------------------

local lt_k="capslock" --在点击左键时开启/关闭 Lean-Spam 的键
local ll_k="Q" --左侧查看设置,默认值为 "Q"
local rl_k="E" --右侧查看设置,默认值为 "E"
local m_l=3 --Lean 时间的微调设置 - 较低的数字 = 更快的倾斜(必须是奇数才能正常工作)默认值: 3


--[[不要修改这些设置]]--
--------------------------------------------------------------------------------------------------------------

local l_s=nr_s*(m_l//2)
local l_st=1
local o_r
local ls_s
local l_k

--[[函数]]--
--------------------------------------------------------------------------------------------------------------

function lean_spam()
    if l_k == ll_k then
        l_k=rl_k
    else
        l_k=ll_k
    end
    PressKey(l_k)
    Sleep(l_s)
    ReleaseKey(l_k)
    no_recoil=l_s//m_l
end

function leandir()
    if ls_s then
        if (l_k == ll_k) then
            return (l_st)
        else
            return -(l_st)
        end
    else
        return 0
    end
end

function norecoil()
    Sleep(nr_p)
    repeat
        o_r=n_r
        if ls_s then
            if (l_st > m_l) then
                 lean_spam()
                 l_st=0
            else
                l_st=l_st+1
            end
        end
        n_r=o_r
    MoveMouseRelative(leandir(),n_r)
    Sleep(nr_s)
    until not IsMouseButtonPressed(1) or not IsMouseButtonPressed(3)
end

--[[主要的 OnEvent 用于实现脚本功能]]--
--------------------------------------------------------------------------------------------------------------

function OnEvent(event, arg)
    if not IsKeyLockOn(st_k) then
        EnablePrimaryMouseButtonEvents(false)
    else
        EnablePrimaryMouseButtonEvents(true)
    end
    if IsKeyLockOn(lt_k) then
        ls_s=true
    else
        ls_s=false
    end
    if (IsMouseButtonPressed(1) and IsMouseButtonPressed(3) and IsKeyLockOn(st_k)) then
        norecoil()
    end
end

原文链接 https://stackoverflow.com/questions/70959783

点赞
stackoverflow用户2858170
stackoverflow用户2858170

Logitech 的 G-Hub Lua API 嵌入了 Lua 5.1。 在 Lua 5.1 中没有 // 运算符。

地板除法运算符是在 Lua 5.3 中引入的。

如果此脚本适用于其他人,请尝试更新您的 Logitech 软件。也许他们发布了一个带有 Lua >= 5.3 的更新版本。

因此,以下一行代码将引起语法错误。通常 Lua 会抱怨 / 附近的意外符号。看起来 Logitech 不想与您分享这些信息。

local l_s=nr_s*(m_l//2)

使用

local l_s = nr_s * math.floor(m_l / 2)

同样适用于 no_recoil=l_s/m_l

2022-02-02 17:39:43
stackoverflow用户1847592
stackoverflow用户1847592
**问题描述:**

LGS编辑器有个bug:它会指向错误行上面的一行而非错误行本身。实际的语法错误位于第27行。

这段代码是为Logitech GHub写的,它包含Lua 5.4。

但是你在使用的却是LGS,它只包含Lua 5.1。

在Lua 5.1中没有`//`运算符,你需要使用`math.floor()`来替换所有的`//`。

举个例子,将`m_l//2`替换成`math.floor(m_l/2)`。
2022-02-02 19:29:17