|
Instead of this
game.Workspace.MainCurtain.CFrame = game.Workspace.MainCurtain.CFrame+Vector3.new(0,0.1,0)
wait(0.1)
game.Workspace.MainCurtain.CFrame = game.Workspace.MainCurtain.CFrame+Vector3.new(0,0.1,0)
wait(0.1)
game.Workspace.MainCurtain.CFrame = game.Workspace.MainCurtain.CFrame+Vector3.new(0,0.1,0)
wait(0.1)
game.Workspace.MainCurtain.CFrame = game.Workspace.MainCurtain.CFrame+Vector3.new(0,0.1,0)
wait(0.1)
game.Workspace.MainCurtain.CFrame = game.Workspace.MainCurtain.CFrame+Vector3.new(0,0.1,0)
what could I do to make it only 1 line of code so it still runs like this? |
|
|
while wait(0.1) do
game.Workspace.MainCurtain.CFrame = game.Workspace.MainCurtain.CFrame+Vector3.new(0,0.1,0)
end
#Code print("Song Link: http://www.roblox.com/Deorro-vs-Swedish-House-Mafia-Save-The-5-Hours-item?id=340827217") |
|
|
What would it be if I wanted it to loop, then stop after 10 seconds?
Thanks. |
|
|
local num = 0
while wait(0.1) do
game.Workspace.MainCurtain.CFrame = game.Workspace.MainCurtain.CFrame+Vector3.new(0,0.1,0)
num = num + .1
if num >= 10 then
break
end
end
#Code print("Song Link: http://www.roblox.com/Deorro-vs-Swedish-House-Mafia-Save-The-5-Hours-item?id=340827217") |
|
|
local CurtainOpen = workspace:WaitForChild("CurtainOpen")
local num = 0
CurtainOpen.Changed:connect(function(NewValue)
if CurtainOpen.Value == true then
while wait(0.1) do
game.Workspace.MainCurtain.CFrame = game.Workspace.MainCurtain.CFrame+Vector3.new(0,0.1,0)
num = num + .1
if num >= 10 then
break
end
end
something is wrong. It is not working. |
|
|
1.) Make sure "CurtainOpen" actually exists in "workspace:WaitForChild("CurtainOpen")"
2.) Put a print in the loop "print(num)" or something to see if it prints.
3.) If CurtainOpen actually exists make sure it's value is actually = to true not false.
#Code print("Song Link: http://www.roblox.com/Deorro-vs-Swedish-House-Mafia-Save-The-5-Hours-item?id=340827217") |
|
C_SharperJoin Date: 2011-10-03 Post Count: 9405 |
for i = 1,5 do
game.Workspace.MainCurtain.CFrame = game.Workspace.MainCurtain.CFrame+Vector3.new(0,0.1,0)
wait(.1)
end |
|
|
Figured it
local CurtainOpen = workspace:WaitForChild("CurtainOpen")
local num = 0
CurtainOpen.Changed:connect(function(NewValue)
if CurtainOpen.Value == true then
while wait(0.1) do
game.Workspace.MainCurtain.CFrame = game.Workspace.MainCurtain.CFrame+Vector3.new(0,0.1,0)
num = num + .1
if num >= 10 then
break
end
end
end
end
)
But, when I want it to go up again it only goes up 0.1 studs, then stops. |
|
|
So, with that done. How would I make it so it would have buttons that moved it?
|
|
|
a click detector would be like this
script.Parent.ClickDetector.MouseClick(player)
for i = 1,5 do
game.Workspace.MainCurtain.CFrame = game.Workspace.MainCurtain.CFrame+Vector3.new(0,0.1,0)
wait(.1)
end
end)
|
|
|
script.Parent.ClickDetector.MouseClick:connect(function(player)
for i = 1,5 do
game.Workspace.MainCurtain.CFrame = game.Workspace.MainCurtain.CFrame+Vector3.new(0,0.1,0)
wait(.1)
end
end)
sorry
|
|
|
Okay. With the code above, how would I stop players pressing loads of times to make it go very high? for example
local a = workspace.Curtain.MainCurtain
if a.position = ("??,??,??") then
end (not allowed to go higher or lower) |
|
|