0

我正在 Roblox 上制作这款答题器游戏。一切正常,除了当有多个人玩时,服务器延迟很多,有时点击不注册。

单击按钮时,它会触发一个事件:

local leaderstats = game.Players.LocalPlayer:WaitForChild("leaderstats")
local button = script.Parent

button.MouseButton1Click:Connect(function()

    game.Workspace.GetClickScript.GetClick:FireServer()

end)

服务器脚本检测到触发的事件并执行以下操作:

local debounce = false
script.GetClick.OnServerEvent:Connect(function(plr)
    if not debounce then
        debounce = true
        local leaderstats = plr:WaitForChild("leaderstats")
        leaderstats.Clicks.Value += 1
        wait(0.2)
        debounce = false
    end
end)

除了当多个玩家点击按钮时它变得非常慢(因为它是一个服务器脚本)。有没有办法让它更快,甚至使它成为本地脚本?

4

1 回答 1

1

首先,您的代码看起来不错。问题在于您使用 debounce,debounce 从未真正以这种方式使用。每当一名玩家触发事件时,debounce 会阻止其他玩家更换现金,持续 0.2 秒。

我会完全消除去抖动,但这不应该导致您遇到的问题。试试这个没有去抖动,让我知道它是否有效?

如果没有,您很可能在游戏中感染了病毒,或者客户端上的 wifi 很差。

于 2021-01-25T18:15:30.863 回答