How to make scrolling pipes

weirdly enough it says the primary part doesn’t exist

Yes you have to set it manually through properties.
Select the model and go to properties menu and click on PrimaryPart and select the Main Part inside the Model.

I did that! I don’t understand. i’ll do it again.
Edit: There is a primary part!

Can you send screenshot of the PrimaryPart?


It’s the tiny red part (0.1 studs in every side)

From the properties menu please

Screenshot 2024-09-15 161620


Screenshot 2024-09-15 161643

that script will not work because the EndCFrame is a child of WeirdShape and not the workspace:

local TweenService = game:GetService("TweenService")
local pipePrimaryPart = script.Parent:FindFirstChild("PrimaryPart")
local endCFrame = script.Parent:FindFirstChild("EndCFrame")

if pipePrimaryPart and endCFrame then
	local tweenInfo = TweenInfo.new(10, Enum.EasingStyle.Linear, Enum.EasingDirection.Out)
	local goal = {CFrame = endCFrame.CFrame}
	local glide = TweenService:Create(pipePrimaryPart, tweenInfo, goal)

	local function work()
		glide:Play()
	end

	workspace.Events.Start.Event:Connect(work)
else
	warn("pipePrimaryPart or endCFrame dont exist")
end

still no work :cry:

Okay so can you show me the output (on every reply from now on)

ok fine :+1:


output rn:

Alright I changed

else
	warn("pipePrimaryPart or endCFrame dont exist")
end

to

elseif pipePrimaryPart then
	warn("endCFrame doesn't exist")
elseif endCFrame then
	warn("pipePrimaryPart doesn't exist")
else
	warn("pipePrimaryPart AND endCFrame don't exist")
end

And I got “pipePrimaryPart doesn’t exist”

local TweenService = game:GetService("TweenService")
local pipePrimaryPart = script.Parent.PrimaryPart
local endCFrame = script.Parent:FindFirstChild("EndCFrame")

if pipePrimaryPart then
	if endCFrame then
		local tweenInfo = TweenInfo.new(10, Enum.EasingStyle.Linear, Enum.EasingDirection.Out)
		local goal = {CFrame = endCFrame.CFrame}
		local glide = TweenService:Create(pipePrimaryPart, tweenInfo, goal)

		local function work()
			glide:Play()
		end
		workspace.Events.Start.Event:Connect(work)
		
	else
		warn("no endCFrame")
	end
else
	warn("no primary part")
end

Okay this script will detect exactly what issue is going on.

I guess I just did that here

We sent at the same moment, anyways have you tried the script?

Mine gives “pipePrimaryPart doesn’t exist”

What did my script print into your output?

Nothing… OMG I UNDERSTAND! I anchored the model :person_facepalming: but if I unanchor it falls.

Weld all parts together and anchor one of them.

oh
but no, It did not work :cry: