Roblox - 试图让 InvokeClient 远程功能正常工作

Roblox - Trying to get InvokeClient Remote Function Working

在我名为 MainGameScript 的服务器脚本中,我有以下代码块:

local myRemoteFunction = Instance.new("RemoteFunction")
myRemoteFunction.Parent = game.Workspace
myRemoteFunction.Name = "GetBuildInfo"

game.Players.PlayerAdded:connect(function(player)
    print("[MainGameScript] added player") 

    for i,v in pairs(Regions) do
        if (v.Value == 0) then
            Regions[i].Value = player.UserId
            break
        end
    end    

    local success, result = pcall(function() return myRemoteFunction:InvokeClient(player) end)
    if success then
       print(result)
    else
        print("Error calling RemoteFunction GetBuildInfo")
    end

结束)

我在 game.Workspace 中有一个名为 LocalBuildScript 的 LocalScript,其中包含:

function game.workspace.GetBuildInfo.OnClientInvoke()
    print("[GetBuildInfo] will send back local build info")
    return "this will be returned to the server caller script"
end

从未调用 GetBuildInfo 函数。我已经向调用函数添加了一些调试打印行,并且该进程似乎在它使用 pcall 的地方死了......这几乎是 Roblox Wiki 中的 Remote Function Client Invoke 示例的逐字记录,不知道为什么它不起作用并且我希望这里有人有一些使用 InvokeClient 脚本的经验。

谢谢, 安迪

它不是 运行 的原因是因为 RemoteFunctions 引用的 LocalScripts 应该在其中某处的 Player 实例中。我相当确定情况确实如此,因为我已经实施了一个类似的测试系统,但我将我的 LocalScript 放在了 Player 实例中。