Lua 我的代码没有';我什么也不做

Lua 我的代码没有';我什么也不做,lua,roblox,Lua,Roblox,我该如何解决这个问题?它什么都不做,没有错误,什么都没有。您的问题似乎在于string.sub()的用法。(我假设这是罗布罗克斯,我对他了解不多)。 string.sub(a,b,c)方法获取字符串a的子字符串,从索引b开始,进入索引c 您的问题是试图从字符1-5中获取子字符串。字符1是字符串中的第一个字符,字符5是字符串中的第五个字符。您的if块正在检查播放机消息的前5个字符。问题是您将其与之比较的字符串,“oofergang”,长度超过5个字符 如果播放机正确键入oofergang,您使用的

我该如何解决这个问题?它什么都不做,没有错误,什么都没有。

您的问题似乎在于
string.sub()
的用法。(我假设这是罗布罗克斯,我对他了解不多)。
string.sub(a,b,c)
方法获取字符串
a
的子字符串,从索引
b
开始,进入索引
c

您的问题是试图从字符1-5中获取子字符串。字符1是字符串中的第一个字符,字符5是字符串中的第五个字符。您的
if
块正在检查播放机消息的前5个字符。问题是您将其与之比较的字符串,
“oofergang”
,长度超过5个字符

如果播放机正确键入oofergang,您使用的
string.sub()
将输出消息的前5个字符
oofer
。本质上,这是程序运行时将看到的:

game:GetService("Players").PlayerAdded:connect(function()
    for _, Player in pairs(game:GetService("Players"):GetPlayers()) do
      Player.Chatted:connect(function(msg)
            if string.sub(msg,1,5) == "oofergang" then 
                    Player:Kick("no no no cringe baby")
        end
    end)
  end
end)
return ''
oofer
永远不会等于
oofergang

如果要检查播放机是否以
oofergang
开始其消息,则应使用以下
If
块:

if "oofer" == "oofergang" then
编辑:正如建议的那样,以下代码允许您在任意位置的另一个字符串中查找字符串,而不仅仅是在开始处查找字符串:

if (string.sub(msg, 1, 9) == "oofergang") then
    --Whatever you want to do here, in your case kick the player
end

我看到您的代码有很多回调,也许您应该查看[NoScript ](NoScript .NET),并考虑在项目中使用它。至于4号线,这毫无意义<根据定义,code>string.sub(msg,1,5)将返回长度最多为5个字符的内容,因此它永远不能是长度为9个字符的
“oofergang”
。直接比较字符串或查找。或者只需使用
if string.find(msg,$oofergang'),然后使用
:)
if (string.find(msg, "oofergang")) then
    --Whatever you want to do here, in your case kick the player
end