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

Why the script dON'T WANT teleport only one player !!???

Asked by 5 years ago
Edited 5 years ago
local lobbyTP = game.Workspace.Lobby.TeleportFinishedParkour

script.Parent.Touched:Connect(function(part)
     for _, plr in pairs(game:GetService("Players"):GetPlayers()) do
        plr.Character:SetPrimaryPartCFrame(lobbyTP.CFrame)
    end
end)

1 answer

Log in to vote
0
Answered by 5 years ago
Edited 5 years ago

That is happening because you are looping through every player in the game. You also teleport all of them.

local Players = game:GetService("Players")
local lobbyTP = game.Workspace.Lobby.TeleportFinishedParkour
local getPlayerFromCharacter 

getPlayerFromCharacter = function(model)
    local plr = Players:GetPlayerFromCharacter(model)

    if plr then
        return plr
    else
        return nil
    end
end
script.Parent.Touched:Connect(function(part)
    local player = getPlayerFromCharacter(part.Parent)
    local char = player.Character
    char:SetPrimaryPartCFrame(lobbyTP.CFrame)
end)
Ad

Answer this question