Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

Changing the amount of people needed to teleport?

Asked by 3 years ago
Edited 3 years ago

So I'm making a game where theres a queue and when theres a certain amount of people waiting it teleports you to a new place, except I can't figure out how to change the timer and the amount of people needed. Right now, it teleports you no matter how many people are in. I want to change it so that it teleports when there are at least 6 people, but I want the timer to count down from 60 once 6 people are in the queue. (so there should be no timer until 6 people enter the queue.) This is what I have so far, sorry for the formatting.

local TS = game:GetService("TeleportService") local TweenService = game:GetService("TweenService") local placeId = "6999382254" local leaveGuiEvent = game.ReplicatedStorage.LeaveGuiEvent local TransitionEvent = game.ReplicatedStorage.TransitionEvent local list = {} local gui = script.Parent.GuiPart.SurfaceGui local billboard = script.Parent.billboardPart.billboardGui local timer local teleporting = false local spawnTeleport = script.Parent.spawn

local function updateGui() gui.Frame.players.Text = #list billboard.Frame.players.Text = #list end

local function removeFromList(character) for i=1,#list do if list[i] == character.Name then table.remove(list,i) updateGui() end end end

local function teleportPlayers() if #list > 0 then script.Parent.GuiPart.SurfaceGui.Frame.Status.Text = "TELEPORTING" script.Parent.GuiPart.SurfaceGui.Frame.Status.TextColor3 = Color3.new(1,0,0) local playersToTeleport = {} local teleportTime = 0 for i=1,#list do if game.Players:findFirstChild(list[i]) then table.insert(playersToTeleport,game.Players:findFirstChild(list[i])) TransitionEvent:FireClient(game.Players:findFirstChild(list[i])) else table.remove(list,i)
end end local code = TS:ReserveServer(placeId) teleporting = true TS:TeleportToPrivateServer(placeId,code,playersToTeleport) repeat wait() until #list <= 0 script.Parent.GuiPart.SurfaceGui.Frame.Status.Text = "READY" script.Parent.GuiPart.SurfaceGui.Frame.Status.TextColor3 = Color3.new(34/255,255/255,20/255) teleporting = false end end

script.Parent.Gate.Touched:Connect(function(hit) if hit.Parent:findFirstChild("Humanoid") then if teleporting == false then local char = hit.Parent local player = game.Players:FindFirstChild(char.Name) local alreadyExists = false

        for i=1,#list do
            if list[i] == char.Name then
                alreadyExists = true
            end
        end

        if alreadyExists == false then
            if #list < 16 then
                table.insert(list,char.Name)
                char.PrimaryPart.CFrame = spawnTeleport.CFrame
                updateGui()
                leaveGuiEvent:FireClient(player)
            end

            player.CharacterRemoving:connect(function(character)
                removeFromList(character)
            end)
        end

    end
end

end)

leaveGuiEvent.OnServerEvent:Connect(function(player) if player.Character then player.Character.HumanoidRootPart.Anchored = false wait() player.Character.Humanoid.Jump = true wait() player.Character:MoveTo(game.Workspace.leaveRoomPart.Position) removeFromList(player.Character) end end)

while wait() do timer = 30 for i=1,timer do timer = timer - 1 gui.Frame.time.Text = timer billboard.Frame.time.Text = timer wait(1) end teleportPlayers() end

0
Use Code Block for all please, i can t read a thing Hate_ZEU 47 — 3y

Answer this question