Add ClickDetector to Model. Then type the command:
script.Parent.ClickDetector.MouseClick:Connect(function()
Add ClickDetector to Model. Then type the command:
script.Parent.ClickDetector.MouseClick:Connect(function()
Also the script isn’t working (it’s probably my mistake).
Do I put it in the script or add a script and the proximitypromt, do I put it in the model I want to be moved or in the first group?
Let me start from the begging because I think I didn’t explain myself.
I had already a working script and everything but when I attach my designated model it doesn’t work now I think it is because the thumbnail of the group isn’t black and white but with colours.
I tried it and nothing happened
You can’t tween a model without tweening every part in it down / weld all the parts.
And how do I weld all the parts?
Add a WeldConstraint to each part and set Part0 to the current part and set Part1 to the part you want to tween.
I tried that and the same the door goes down and the pillar won’t.
Ok so I did my own scripting from what I got from yt, now I need them to happen on a buttons touch and 4 from the front and the back.And there would be a button that makes them all go down and up.
If that came out rude I am sorry.
But instead of them going down they are going left and right.
What I’d do is use a CFrame.(type)Vector to move it in a specific direction.
If you want it to move backwards and forwards, use LookVector.
Up and down? Use UpVector.
Right and left? RightVector.
DownVector is its own property. You don’t assign anything to it like you would a CFrame.new() instance. (although CFrame.new could be used in this same regard)
Then like from this script what line would you add and what would you remove because I am not understanding you.
local TweenService = game:GetService(“TweenService”)
local model = script.Parent
local leftDoor = model.LeftDoor
local prompt = model.Top.Attachment.ProximityPrompt
local tweenInfo = TweenInfo.new(1)
local leftGoalOpen = {}
local leftGoalClose = {}
leftGoalOpen.CFrame = leftDoor.CFrame * CFrame.new(0, -3.5, 0)
leftGoalClose.CFrame = leftDoor.CFrame
local leftTweenOpen = TweenService:Create(leftDoor, tweenInfo, leftGoalOpen)
local leftTweenClose = TweenService:Create(leftDoor, tweenInfo, leftGoalClose)
prompt.Triggered:Connect(function()
if prompt.ActionText ==“Close” then
leftTweenClose:Play{}
prompt.ActionText = “Open”
else
leftTweenOpen:Play{}
prompt.ActionText = “Close”
end
end)
You could do that; I was referring to the fact that CFrame.new() can hold matrices, which can give a similar effect.
However for readability and learning I’d go with CFrame.UpVectors().
Try this instead:
leftGoalOpen.Position += (leftGoalOpen.CFrame.UpVector() * 3)
You cant assign anything to those vector classes as they’re readonly.
Also, I strongly suggest to read through CFrames.
This link will take you to a more complicated site with the vector values detailed:
CFrame
I put it like this : https://gyazo.com/30d22199a34c0f3021dba82a3598c698
And I tried how I did mine before with changing the X one and I realised when the part doesn’t have anything in it, it will work but if it does it won’t.