Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
COMMUNITY QUESTION

How do I make something move like a door?

2 answers

You could try Motor6D's. Although this can be acomplished via Scripting, I am unaware how to. So I use this plugin called Motor6D Maker

And now onto how to script it.

--Lets say it is in a part called "Anchor"
local partA = script.Parent.Anchor --Needs to be anchored

local partB = script.Parent.Hood --Needs to be unanchored

local partC = script.Parent.Pivot --Needs to be anchored

local cd = script.Parent.CD.ClickDetector

local open = false

cd.MouseClick:connect(function(playerWhoClicked)
	if open then
		partA.Motor.DesiredAngle = math.Rad(0) --0 Degrees to close it
		open = not open
	else
		partA.Motor.DesiredAngle = math.Rad(30) --30 Degrees to open it.
		open = not open
	end
end)

Notes -Everything is done in radians -The part pivots along the Pivot's Z Axis

This has not been tested so there might be a few bugs __________________________________________________________________________- TheHospitalDev

Door 					= script.Parent -- Main model
Haha 					= Door.DoraTheExplorer -- The submodel that rotates 
Haha.PrimaryPart 		= Haha.Hinge -- The hinge of the door inside the submodel DoraTheExplorer
fps 					= 60 -- The smaller the faster
opening 				= false
upen 					= false

function rotate(model, amount)
	for i=1, math.abs(amount/2) do
		model:SetPrimaryPartCFrame(model.Hinge.CFrame * CFrame.fromEulerAnglesXYZ(0,math.pi/amount,0))
		wait()
	end	
end

function open()
	if not opening then
		opening = true
		if upen then
			rotate(Haha, fps)
		else
			rotate(Haha, -fps)
		end
		upen = not upen
		opening = false
	else
	end
end

This discussion is preserved as it was. New answers, comments, and votes are closed.