Hello everyone, I am making a simple zipline script, but it only works the first time, then doesnt work at all. Here is the script:
local CollectionService = game:GetService("CollectionService")
local TweenService = game:GetService("TweenService")
local RIDE_DURATION = 2
local DISABLED_JUMP = 0
local DISABLED_SPEED = 0
local NORMAL_JUMP = 35
local NORMAL_SPEED = 16
local function connectZiplineEnd(partA, partB)
local promptA = partA:WaitForChild("ProximityPrompt")
local riding = {}
promptA.Triggered:Connect(function(player)
if riding[player] then return end
local char = player.Character
if not (char and char:FindFirstChild("HumanoidRootPart")) then return end
local humanoid = char:FindFirstChild("Humanoid")
local root = char.HumanoidRootPart
riding[player] = true
humanoid.JumpPower = DISABLED_JUMP
humanoid.WalkSpeed = DISABLED_SPEED
local info = TweenInfo.new(RIDE_DURATION, Enum.EasingStyle.Sine, Enum.EasingDirection.Out)
local goal = { Position = partB.Position }
local tween = TweenService:Create(root, info, goal)
tween:Play()
tween.Completed:Connect(function()
humanoid.JumpPower = NORMAL_JUMP
humanoid.WalkSpeed = NORMAL_SPEED
riding[player] = nil
end)
end)
end
for _, model in ipairs(CollectionService:GetTagged(ZIPLINE_TAG)) do
local endA = model:WaitForChild("EndA")
local endB = model:WaitForChild("EndB")
connectZiplineEnd(endA, endB)
connectZiplineEnd(endB, endA)
end