So I am making a developer GUI and a part of it is the ability to lock the server. But when I test it studio freezes and then a few seconds later I get a game script timeout error. Not sure what I am doing wrong. Here are the various scripts that it uses:
The script that creates the BoolValue and kicks players when the value is true:
local serverlock = Instance.new("BoolValue", game:GetService("ReplicatedStorage")) serverlock.Name = "lock" serverlock.Value = false serverlock.Changed:Connect(function() if serverlock.Value == true then while serverlock.Value == true do game.Players.PlayerAdded:Connect(function(plr) if plr:GetRankInGroup(5014306) >= 252 then print("non-kickable") else wait() plr:Kick("The server is locked.") end end) end end end)
The OnServerEvent script that updates the value to true:
local storage = game:GetService("ReplicatedStorage") local events = storage:WaitForChild("RemoteEvents") events.ServerLockOn.OnServerEvent:Connect(function(player) storage.lock.Value = true end)
The OnServerEvent script that updates the value to false:
local storage = game:GetService("ReplicatedStorage") local events = storage:WaitForChild("RemoteEvents") events.ServerLockOff.OnServerEvent:Connect(function(player) storage.lock.Value = false end)
The FireServer script that causes the value to be updated to true:
script.Parent.MouseButton1Click:Connect(function() local storage = game:GetService("ReplicatedStorage") local events = storage:WaitForChild("RemoteEvents") events.ServerLockOn:FireServer() script.Parent.Parent.LockButton2.Position = UDim2.new(0.101, 0,0.806, 0) script.Parent.Position = UDim2.new(-1,0,0,0) end)
The FireServer script that causes the value to be updated to false:
script.Parent.MouseButton1Click:Connect(function() local storage = game:GetService("ReplicatedStorage") local events = storage:WaitForChild("RemoteEvents") events.ServerLockOff:FireServer() script.Parent.Parent.LockButton1.Position = UDim2.new(0.101, 0,0.806, 0) script.Parent.Position = UDim2.new(-1,0,0,0) end)
Those are all the scripts that the system uses. Any ideas?