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

Players are spawning on enemy spawns? [SOLVED]

Asked by 6 years ago
Edited 6 years ago

Ive got 4 sets of spawns on a map in my game.

There are blue and red team lobby spawns and then blue and red team ingame spawns.

When the main script loads the map in, it then balances teams (That looks like this)

    local function BalanceTeams(...)
        local TeamColor = {...}
        for x, player in next, game.Players:GetChildren() do
            player.TeamColor = BrickColor.new(TeamColor[(x%(#TeamColor)) + 1])
        end
        return (TeamColor);
    end

    BalanceTeams("Really red","Really blue")

After its done balancing teams, it teleports you to your teams spawn but for some reason players spawn on the other teams spawn and they repetitively.

Its kinda a hard to explain question sorry if youre a little lost.

The first 2 players spawn on the right spawns but then it goes hay wire after.

Heres the scripts and ill try to explain them

This is the teleport players to lobby spawns script. I do this so you cannot be killed while picking a class. Sorry about the indenting its inside a larger script

    -- Teleports Red Team to Red Teams spawn zone
    local RedSpawns = ChoseMap.RedLobby:WaitForChild("RedLobbySpawns"):GetChildren()
    for _, player in pairs(game.Players:GetChildren()) do
        if player.Team.Name == "Really Red" then
            if player and #RedSpawns > 0 then
                local UpperTorso = player.Character:WaitForChild("HumanoidRootPart")
                local AllSpawns = math.random(1, #RedSpawns)
                local RandomSpawn = RedSpawns[AllSpawns]
                if RandomSpawn and UpperTorso then
                    table.remove(RedSpawns, AllSpawns)
                    UpperTorso.CFrame = CFrame.new(RandomSpawn.Position + Vector3.new(0, 5, 0))
                end
            end
        end
    end

    -- Teleports Blue Team to Blue Team spawn zone
    local BlueSpawns = ChoseMap.BlueLobby:WaitForChild("BlueLobbySpawns"):GetChildren()
    for _, player in pairs(game.Players:GetChildren()) do
        if player.Team.Name == "Really Blue" then
            if player and #BlueSpawns > 0 then
                local UpperTorso = player.Character:WaitForChild("HumanoidRootPart")
                local AllSpawns = math.random(1, #BlueSpawns)
                local RandomSpawn = BlueSpawns[AllSpawns]
                if RandomSpawn and UpperTorso then
                    table.remove(BlueSpawns, AllSpawns)
                    UpperTorso.CFrame = CFrame.new(RandomSpawn.Position + Vector3.new(0, 5, 0))
                end
            end
        end
    end

Then there is a GUI and it has a play button and when you press the play button it runs this teleport script that teleports you to the actual map.

    local ChoseMap = game.Workspace.MapStorage:FindFirstChildOfClass("Model")
    local RedSpawns = ChoseMap.Spawns:WaitForChild("RedSpawns"):GetChildren()
    local BlueSpawns = ChoseMap.Spawns:WaitForChild("BlueSpawns"):GetChildren()
    for _, player in pairs(game.Players:GetChildren()) do
        if player.Team.Name == "Really Red" then
            if Player and #RedSpawns > 0 then
                local AllSpawns = math.random(1, #RedSpawns)
                local RandomSpawn = RedSpawns[AllSpawns]
                if RandomSpawn then
                    table.remove(RedSpawns, AllSpawns)
                    Player.Character:MoveTo(RandomSpawn.Position + Vector3.new(0, 5, 0))
                end
            end
        elseif player.Team.Name == "Really Blue" then
            if Player and #BlueSpawns > 0 then
                local AllSpawns = math.random(1, #BlueSpawns)
                local RandomSpawn = BlueSpawns[AllSpawns]
                if RandomSpawn then
                    table.remove(BlueSpawns, AllSpawns)
                    Player.Character:MoveTo(RandomSpawn.Position + Vector3.new(0, 5, 0))
                end
            end
        end 
    end

Again for some reason people are teleporting to the wrong spawns and guys.. I honestly have no clue why, I didnt have this problem with my last game and it used the exact same scripts. I think it has something to do with my spawns not the actual code.

Thank you for your time :) Have a good day!

Answer this question