Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
1

Elevator door's CFrame not being changed when told to?

Asked by 8 years ago

So first step in coding an elevator is the doors automatically moving. One of my door(door1) moves, but the other one doesn't budge(door2). Please help?

01debounce = true
02script.Parent.Touched:connect(function(hit)
03    if hit.Parent:FindFirstChild("Humanoid") and debounce then
04        debounce = false
05        for moved1 = 933.301, 939.111, 0.5 do
06            game.Workspace.Door1.CFrame = CFrame.new(Vector3.new(moved1, 4.642, -386.874))
07            wait(0.1)
08        end
09        for moved2 = 926.038, 920.378, 0.5 do
10            game.Workspace.Door2.CFrame = CFrame.new(Vector3.new(moved2, 4.642, -386.874))
11        end
12    end
13end)

some lines of the script were too long to fit in the code block so that's why some lines of code run on into the next line.

1 answer

Log in to vote
0
Answered by
Perci1 4988 Trusted Moderation Voter Community Moderator
8 years ago
Edited 8 years ago
1for moved2 = 926.038, 920.378, 0.5 do

Your start number is greater than your end number, but you have a positive increment. So basically you're trying to go from 926 to 920 by adding 0.5 each time. Just make the increment negative.

1for moved2 = 926.038, 920.378, -0.5 do

This should work.

But seriously, dude... your code is a mess lol. Just add to the CFrame, don't use exact coordinates. This will also let you move the doors wherever you want and they should still work.

1local door1 = workspace.Door1
2 
3for i = 1, 5 do
4    door1.CFrame = door1.CFrame * CFrame.new(0.5, 0, 0)
5end

Also remember that you never set your debounce back to true.

0
thank you so much, but what would i do for door2 to move the opposite way? Lukeisbossman64 73 — 8y
0
nvm, i figured it out Lukeisbossman64 73 — 8y
0
yeah it's just -0.5 instead of 0.5. Perci1 4988 — 8y
Ad

Answer this question