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

Parent Doesn't change after script is run and timer doesn't stop when event is fired?

Asked by 3 years ago

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


Answer this question