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

**PLEASE HELP** The part is not moving up and down as I programmed, please help whats wrong?

Asked by 6 years ago

So, I made the script for the part to move up down constantly with while true do function. But it won't work I don't know what is wrong...

Here's the script(its long):

local part = script.Parent.Parent.VIPTEXT

while true do
    part.Position = "-668.4, 12.1, -102.3"
    wait(0.5)
    part.Position = "-668.4, 12.2, -102.3"
    wait(0.5)
    part.Position = "-668.4, 12.3, -102.3"
    wait(0.5)
    part.Position = "-668.4, 12.4, -102.3"
    wait(0.5)
    part.Position = "-668.4, 12.5, -102.3"
    wait(0.5)
    part.Position = "-668.4, 12.6, -102.3"
    wait(0.5)
    part.Position = "-668.4, 12.7, -102.3"
    wait(0.5)
    part.Position = "-668.4, 12.8, -102.3"
    wait(0.5)
    part.Position = "-668.4, 12.9, -102.3"
    wait(0.5)
    part.Position = "-668.4, 13, -102.3"
    wait(0.5)
    part.Position = "-668.4, 13.1, -102.3"
    wait(0.5)
    part.Position = "-668.4, 13.2, -102.3"
    wait(0.5)
    part.Position = "-668.4, 13.3, -102.3"
    wait(0.5)
    part.Position = "-668.4, 13.4, -102.3"
    wait(0.5)
    part.Position = "-668.4, 13.5, -102.3"
    wait(0.5)
    part.Position = "-668.4, 13.6, -102.3"
    wait(0.5)
    part.Position = "-668.4, 13.7, -102.3"
    wait(0.5)
    part.Position = "-668.4, 13.8, -102.3"
    wait(0.5)
    part.Position = "-668.4, 13.9, -102.3"
    wait(0.5)
    part.Position = "-668.4, 14, -102.3"
    wait(0.5)
    part.Position = "-668.4, 14.1, -102.3"
    wait(0.5)
    part.Position = "-668.4, 14.2, -102.3"
    wait(0.5)
    part.Position = "-668.4, 14.3, -102.3"
    wait(0.5)
    part.Position = "-668.4, 14.4, -102.3"
    wait(0.5)
    part.Position = "-668.4, 14.5, -102.3"
    wait(0.5)
    part.Position = "-668.4, 14.6, -102.3"
    wait(0.5)
    part.Position = "-668.4, 14.7, -102.3"
    wait(0.5)
    part.Position = "-668.4, 14.8, -102.3"
    wait(0.5)
    part.Position = "-668.4, 14.9, -102.3"
    wait(0.5)
    part.Position = "-668.4, 15, -102.3"
    wait(0.5)
    part.Position = "-668.4, 14.9, -102.3"
    wait(0.5)
    part.Position = "-668.4, 14.8, -102.3"
    wait(0.5)
    part.Position = "-668.4, 14.7, -102.3"
    wait(0.5)
    part.Position = "-668.4, 14.6, -102.3"
    wait(0.5)
    part.Position = "-668.4, 14.5, -102.3"
    wait(0.5)
    part.Position = "-668.4, 14.4, -102.3"
    wait(0.5)
    part.Position = "-668.4, 14.3, -102.3"
    wait(0.5)
    part.Position = "-668.4, 14.2, -102.3"
    wait(0.5)
    part.Position = "-668.4, 14.1, -102.3"
    wait(0.5)
    part.Position = "-668.4, 13, -102.3"
    wait(0.5)
    part.Position = "-668.4, 13.9, -102.3"
    wait(0.5)
    part.Position = "-668.4, 13.8, -102.3"
    wait(0.5)
    part.Position = "-668.4, 13.7, -102.3"
    wait(0.5)
    part.Position = "-668.4, 13.6, -102.3"
    wait(0.5)
    part.Position = "-668.4, 13.5, -102.3"
    wait(0.5)
    part.Position = "-668.4, 13.4, -102.3"
    wait(0.5)
    part.Position = "-668.4, 13.3, -102.3"
    wait(0.5)
    part.Position = "-668.4, 13.2, -102.3"
    wait(0.5)
    part.Position = "-668.4, 13.1, -102.3"
    wait(0.5)
    part.Position = "-668.4, 12, -102.3"
    wait(0.5)
    part.Position = "-668.4, 12.1, -102.3"
    wait(0.5)   
end
0
Is this a server or local script? Crazycat4360 115 — 6y
0
It's a normal script, but do I need to put it into a local script, I'm trying it into the ROBLOX Studio mode.. AswormeDorijan111 531 — 6y
0
Positions are Vector3 values, how you have it you're setting them to String values. It would be like this; part.Position = Vector3.new(-668.4, 13.4, -102.3) Also, might I suggest looking into loops; http://wiki.roblox.com/index.php?title=Loops M39a9am3R 3210 — 6y
0
Owwhhh.... You are be going to kidding me, now I have to paste all of them... AswormeDorijan111 531 — 6y
View all comments (2 more)
0
Like I said, look into loops. Then you might only have to make one adjustment. M39a9am3R 3210 — 6y
0
Using a for loop would be much better as said above. It's ROBLOX doing the work for you. Also I'm not sure if you're aware but using CFrame instead of Vector3 might also interest you. http://wiki.roblox.com/index.php?title=CFrame spiderman90438 17 — 6y

1 answer

Log in to vote
0
Answered by 6 years ago

Your problem is that you set the position incorrectly. You should do it like this:

part.CFrame = CFrame.new(#, #, #)

Also, your script is inefficient. I was once told that when you're scripting, you should be lazy. This means that do not repeat yourself. Instead of setting the part's position for every 0.1 of a stud, make it into two repeat-until loops. The script should then look like this:

local part = script.Parent.Parent.VIPTEXT

while true do
    repeat
        part.CFrame = part.CFrame.new(part.Position.X, part.Position.Y + 0.1, part.Position.Z)
    until part.Position.Y >= 15 end
    repeat
        part.CFrame = CFrame.new(part.Position.X, part.Position.Y - 0.1, part.Position.Z)
    until part.Position.Y <= 12.1 end
end

Notice how instead of 106 lines we now have only 10 lines.

Also I didn't test this yet, tell me if it doesn't work

Accept if this helped you thx

Ad

Answer this question