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

Why does this code block get completely skipped over after running once?

Asked by
poke7667 142
5 years ago
Edited 5 years ago

So I am working on a hockey game. When a player touches the square that puts then in a faceoff position, it is supposed to freeze them in place. However after the first faceoff, it seems that part of the code is simply skipped over (and I have placed a print statement that does print but does not seem to execute the code before it).

Script:

function FunctionFO()
    count.Text = 31
    if #shared.hometeam:GetPlayers() > 0 then
        hFO = wFO.Parent["FO Home"].Touched:Connect(function(hit)
            if hFOt then hFO:Disconnect() return end
            if hit:FindFirstAncestor("Stick") then
                if game.Players:GetPlayerFromCharacter(hit:FindFirstAncestor("Stick").Parent).Team == shared.hometeam then
                    hit:FindFirstAncestor("Stick").Parent:SetPrimaryPartCFrame(wFO.Parent["FO Home"].CFrame - Vector3.new(0,wFO.Parent["FO Home"].Position.Y,0) + Vector3.new(0,hit:FindFirstAncestor("Stick").Parent.HumanoidRootPart.Position.Y+1.5,0))
                    hit:FindFirstAncestor("Stick").Parent.HumanoidRootPart.Anchored = true
                    hit:FindFirstAncestor("Stick").Parent.Humanoid.WalkSpeed = 0
                    print("True") -- Prints true but doesn't anchor the HumanoidRootPart
                    hFOt = true
                    repeat wait() until not workspace.Puck.Anchored
                    hit:FindFirstAncestor("Stick").Parent.HumanoidRootPart.Anchored = false
                    hit:FindFirstAncestor("Stick").Parent.Humanoid.WalkSpeed = 20
                end
            end
        end)
        spawn(function()
            repeat wait() until hFOt
            hFO:Disconnect()
        end)
    end

Answer this question