Hey, So I made a portal script and sometimes when the player touches the teleport part it doesn't teleport them to the designated area.
Heres my script:
--[ Variables ]--
local Portals = game:GetService("Workspace").PortalArea.Portals
--[ Main ]--
function disconnectFunction(connection)
if connection then
connection:disconnect()
end
end
while wait() do
for i,v in pairs(Portals:GetChildren()) do
connection = v.TouchPart.Touched:Connect(function(Hit)
if game.Players:FindFirstChild(Hit.Parent.Name) then
local Humanoid = Hit.Parent:FindFirstChild("Humanoid") or Hit.Parent.Parent:FindFirstChild("Humanoid")
if Humanoid.Health > 0 then
local Character = Humanoid.Parent
local HumanoidRootPart = Character.HumanoidRootPart
local Destination = v:FindFirstChild("Destination").Value
local TeleportTo = Portals[tostring(Destination)].TeleportPart.CFrame
HumanoidRootPart.CFrame = TeleportTo
end
end
end)
wait(.1)
disconnectFunction(connection)
end
end
