如何解决在Roblox Studio中出现“Players.louie43pro.PlayerGui.admin.Frame.LocalScript:10: Expected identifier when parsing expression,got ')'”错误?

我在Roblox Studio中遇到了问题。我正在尝试使用本地脚本制作管理员命令脚本时出现了错误。 错误是

Players.louie43pro.PlayerGui.admin.Frame.LocalScript:10: Expected identifier when parsing expression,got ')'

我尝试了很多方法来解决这个错误。 请帮我。

这是我拥有的脚本

local rs = game:GetService("ReplicatedStorage")
local commandEvent = rs:WaitForChild("CommandEvent")

local frame = script.Parent
local enter = frame.Enter
local box = frame.CommandBox

--获取命令并将其拆分
local function get_command()
    local command = ()
    for word in string.gmatch(box.Text, "\S+") do
        table.insert(command, word)
    end
    local action = command[1]
    local person = command[2]

    print(action)
    print(person)

    commandEvent:FireServer(action, person)

    box.Text = " "
end

enter.MouseButton1Click:Connect(get_command)

有没有人能帮我解决我的问题? 拜托了..

点赞
用户2858170
用户2858170

local command = () 不是有效的 Lua 语法。

() 是调用操作符。如果要创建一个表格,请使用表格构造函数 {}

local command = {}

或者你可能忘记了一个函数名?你也可以像这样做:

local command = getMeSomeTable()

然后调用操作符就有意义了。当然,那个函数应该返回一个表格。

一旦你修正了这个错误,你将面临使用无效转义序列的另一个错误。用 %S 替换 \S 来匹配非空格字符。

如果你没有找到 2 个匹配项,则会遇到下一个错误。所以你应该在索引它们之前检查 command 是否实际上有两个元素在键 12 上。

所以可能要添加一些内容,像这样:

if action and person then command:FireServer(action, person) end
2021-02-27 16:16:07