Okay, so I am remaking Merely's soft shutdown script, I want a GUI to pop up instead of a message. Here's my code.
local TeleportService = game:GetService("TeleportService")
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Shutdown = game.StarterGui.Shutdown
if (game.VIPServerId ~= "" and game.VIPServerOwnerId == 0) then
-- this is a reserved server without a VIP server owner
game.StarterGui.Vipserver.Enabled = true--Enables the second gui.
local waitTime = 20
Players.PlayerAdded:connect(function(player)
wait(waitTime)
waitTime = waitTime / 2
TeleportService:Teleport(game.PlaceId, player)
end)
for _,player in pairs(Players:GetPlayers()) do
TeleportService:Teleport(game.PlaceId, player)
wait(waitTime)
waitTime = waitTime / 2
end
else
game:BindToClose(function()
if (#Players:GetPlayers() == 0) then
return
end
if (game:GetService("RunService"):IsStudio()) then
return
end
local remoteEvent = ReplicatedStorage:WaitForChild("Test")
remoteEvent.OnServerEvent:Connect(player,Shutdown)
Shutdown.Enabled = true
remoteEvent:FireAllClients()
wait(2)
local reservedServerCode = TeleportService:ReserveServer(game.PlaceId)
for _,player in pairs(Players:GetPlayers()) do
TeleportService:TeleportToPrivateServer(game.PlaceId, reservedServerCode, { player })
end
Players.PlayerAdded:connect(function(player)
TeleportService:TeleportToPrivateServer(game.PlaceId, reservedServerCode, { player })
end)
while (#Players:GetPlayers() > 0) do
wait(1)
end
end)-- done
end
Here's the code for the local script.
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Shutdown = game.StarterGui.Shutdown
local remoteEvent = ReplicatedStorage:WaitForChild("Test")
local function t(seconds)
Shutdown.Enabled = true
end
-- Call "onTimerUpdate()" when the server fires the remote event
remoteEvent:FireServer(Shutdown)
I talked to a guy on the roblox discord server about the remote event, and we figured it out, at least I think we did. Can you please tell me what I did wrong?
