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

Teleports One Player, Not the Other?

Asked by 7 years ago

I am making a FPS (First Person Shooter), but the problem is, when the intermission gets to 0, it only teleports one of the players, I have no idea why this is, here is the code!

local rs = game:GetService("ReplicatedStorage")
local status = rs:WaitForChild("StatusValue")

while true do
    while game.Players.NumPlayers < 2 do
        status.Value = "There needs to be two more players to start the game!"
        repeat wait(2) until game.Players.NumPlayers >= 2
    end

    for i = 30, 0,-1 do
        status.Value = "Intermission: "..i
        wait(1)
    end

    _G.gameplayers = {} 
    for i, v in pairs(game.Players:GetPlayers()) do
        if v then
            table.insert(_G.gameplayers, v.Name)
        end
    end



local spawns = workspace:WaitForChild('Spawns'):GetChildren()
for _, player in pairs(game.Players:GetPlayers()) do
    if player and #spawns > 0 then
        local torso = player.Character:WaitForChild('Torso')
        local allspawns = math.random(1, #spawns)
        local randomspawn = spawns[allspawns]
        if randomspawn and torso then
            table.remove(spawns, allspawns)
            torso.CFrame = CFrame.new(randomspawn.Position + Vector3.new(0,2,0))
            local gun = game.ReplicatedStorage["MP40"]:Clone()
            gun.Parent = player.Backpack
        end
    end
end

    while true do
    wait(1)

    if #_G.gameplayers == 1 then
        for i, v in pairs(_G.gameplayers) do
            if v ~= nil then
                status.Value = v.. ' is the winner! Well done!'


                game.Players[v].leaderstats.cash.Value = game.Players[v].leaderstats.cash.Value + 10

                break
            end

        end
        break
    else
        status.Value = "Match in Progress"
    end
end
    wait(5)

    end

Answer this question