Issue with script

I would like to print the players’ names that are in the PlayersInside table. I have no idea what is wrong with this script.

local WaitingEnterExitTeleporter = game.Workspace.Lobby.Teleporters.WaitingEnterExitTeleporter1

local TeleportInsidePart = game.Workspace.Lobby.Teleporters.WaitingInsideTeleporter1
local TeleportOutsidePart = game.Workspace.Lobby.Teleporters.WaitingOutsideTeleporter1

local TextLabel = game.Workspace.Lobby.Deployers.Deployer1.Sign.Status.SurfaceGui.Status
local NumberOfPlayers = WaitingEnterExitTeleporter.NumberOfPlayers

local PlayersInside = {}

local PlayerLimit = 5

local CooldownPerPlayer = 0.5
local PlayersOnCooldown = {}

WaitingEnterExitTeleporter.Touched:Connect(function(TouchedPart)
    local Character = TouchedPart.Parent
    local player = game.Players:GetPlayerFromCharacter(Character)
    if PlayersOnCooldown[player] then
	    return
    end
    if player and not PlayersInside[player] then
    	if NumberOfPlayers.Value >= PlayerLimit then
	    	return
    	end
    	NumberOfPlayers.Value = NumberOfPlayers.Value + 1
	    TextLabel.Text = NumberOfPlayers.Value .. "/5"
	    PlayersInside[player] = true
	    Character.HumanoidRootPart.CFrame = TeleportInsidePart.CFrame		
	    game.ReplicatedStorage.TurnOnCamera:FireClient(player)
	    PlayersOnCooldown[player] = true
	    wait(CooldownPerPlayer)
	    PlayersOnCooldown[player] = nil
    elseif player and PlayersInside[player] then
    	NumberOfPlayers.Value = NumberOfPlayers.Value - 1
    	TextLabel.Text = NumberOfPlayers.Value .. "/5"
    	PlayersInside[player] = nil
    	Character.HumanoidRootPart.CFrame = TeleportOutsidePart.CFrame
    	game.ReplicatedStorage.TurnOffCamera:FireClient(player)
	    PlayersOnCooldown[player] = true
	    wait(CooldownPerPlayer)
    	PlayersOnCooldown[player] = nil
	end
end)

wait(10)

for i, v in pairs(PlayersInside) do
	print(v.Name)
end

Any help is appreciated.

by doing

PlayersInside[Player] = true

---it's basically adding this in table

local PlayersInside = {Player = true}

basically you’re doing true.Name

what you wanna do is

for i, v in pairs(PlayersInside) do
	print(i.Name)
end
1 Like

Thank you very much for your answer!
My script is now functioning as I want it.

1 Like