如何修复 roblox 中的服务器延迟
how to fix server lag in roblox
我正在 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)
除了当多个玩家点击按钮时它变得非常慢(因为它是一个服务器脚本)。有没有办法让它更快,甚至让它成为本地脚本?
首先,您的代码看起来不错。问题是你使用去抖动,去抖动从来没有真正以这种方式使用过。每当一名玩家触发事件时,去抖会阻止其他玩家更改现金 0.2 秒。
我会完全删除去抖动,但这不应该导致您遇到的严重问题。在没有去抖动的情况下试试这个,让我知道它是否有效?
如果不是,则很可能是您的游戏中了病毒,或者客户端的 wifi 信号不好。
我正在 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)
除了当多个玩家点击按钮时它变得非常慢(因为它是一个服务器脚本)。有没有办法让它更快,甚至让它成为本地脚本?
首先,您的代码看起来不错。问题是你使用去抖动,去抖动从来没有真正以这种方式使用过。每当一名玩家触发事件时,去抖会阻止其他玩家更改现金 0.2 秒。
我会完全删除去抖动,但这不应该导致您遇到的严重问题。在没有去抖动的情况下试试这个,让我知道它是否有效?
如果不是,则很可能是您的游戏中了病毒,或者客户端的 wifi 信号不好。