Ok so essentially I have 2 questions.
Question #1:
So after this script is run I teleported my players into the map I want and now I want to change their characters parent so that when they are done other players can join that map. This is the important part of the code:
if game.ServerStorage.Map.Time.Value == 0 then
print "Teleported"
local players = game.Workspace.PlayersMap:GetChildren()
for i = 1, #players do
rootpart = players[i].HumanoidRootPart
wait (0.5)
rootpart.CFrame = CFrame.new(-21.5, 1.5, -76.75)
rootpart.CFrame = CFrame.new(-21.5, 1.5, -76.75)
rootpart.CFrame = CFrame.new(-21.5, 1.5, -76.75)
rootpart.CFrame = CFrame.new(-21.5, 1.5, -76.75)
wait (1)
playerparent = players[i].Parent
playerparent = game.Workspace
print "Parent Changed"
game.ServerStorage.Map.Players.Value = 0
game.ServerStorage.Map.Closed.Value = true
end
end
So it prints Parent Changed but when I switch from client mode to server the parent is still the same and I get no error why is that so? Everything else in the script like setting the players value and closed value works fine.
Question #2
Ok so this is the more important one im trying to make it that a person can join the thing for a map but then they can leave. I have the leaving part when a player presses the leave button in their gui it fires a remote event that changes the parent of the player from the map folder to workspace so they wont get teleported. It also does -1 to the number of players that are queing for that map. Now when a player joins a map it starts a timer other players have 20 seconds to join the map until everyone that did que is teleported. However if 1 player joins a map then leaves it the timer still goes and I have no idea how to stop. Is there a way I can stop it I think by using tables or math and stuff but I dont know how to do that in lua.
Here is the code I am currently using:
while true do
wait (0.5)
if game.ServerStorage.Map.Players.Value == 1 then
wait (1)
game.ServerStorage.Map.Time.Value = 19
wait (1)
game.ServerStorage.Map.Time.Value = 18
wait (1)
game.ServerStorage.Map.Time.Value = 17
wait (1)
game.ServerStorage.Map.Time.Value = 16
wait (1)
game.ServerStorage.Map.Time.Value = 15
wait (1)
game.ServerStorage.Map.Time.Value = 14
wait (1)
game.ServerStorage.Map.Time.Value = 13
wait (1)
game.ServerStorage.Map.Time.Value = 12
wait (1)
game.ServerStorage.Map.Time.Value = 11
wait (1)
game.ServerStorage.Map.Time.Value = 10
wait (1)
game.ServerStorage.Map.Time.Value = 9
wait (1)
game.ServerStorage.Map.Time.Value = 8
wait (1)
game.ServerStorage.Map.Time.Value = 7
wait (1)
game.ServerStorage.Map.Time.Value = 6
wait (1)
game.ServerStorage.Map.Time.Value = 5
wait (1)
game.ServerStorage.Map.Time.Value = 4
wait (1)
game.ServerStorage.Map.Time.Value = 3
wait (1)
game.ServerStorage.Map.Time.Value = 2
wait (1)
game.ServerStorage.Map.Time.Value = 1
wait (1)
game.ServerStorage.Map.Time.Value = 0
